我想有两种模式:如何在RegEx中匹配整个字符串?
1. "number/number number&chars"
2. "number_number"
1. "\d/\d \s"
2. "\d_\d"
这些没有真正发挥作用。例如,第二个也匹配“asdf894343_84939”。 如何强制模式匹配整个字符串?
我想有两种模式:如何在RegEx中匹配整个字符串?
1. "number/number number&chars"
2. "number_number"
1. "\d/\d \s"
2. "\d_\d"
这些没有真正发挥作用。例如,第二个也匹配“asdf894343_84939”。 如何强制模式匹配整个字符串?
对于第二个任务(number_number),可以使用[^ A-ZA-Z] \ d * _ \ d *,在您例如asdf894343_84939,你894343_84939。 ,或者如果你只想得到一个数字 - 在\ d之后删除*。例如,如果您有34/45 sss,您将得到34/45。例如,如果您有34/45 sss,则可以使用\ d。*/\ d [^ \ s]。如果你想从整个字符串得到结果,你必须使用你的模式:^你的模式$
您需要使用开始行^
和行尾$
字符;例如,对于第二种模式,请使用^\d_\d$
。
您colud使用 '\ A' 和 '\ Z' 标志 -
Regex.IsMatch(subjectString, @"\A\d_\d\Z");
\ A匹配字符串的第一个字符之前的位置。非 受MultiLine设置影响
\ Z匹配字符串最后一个字符后的位置。不是 受MultiLine设置的影响。
从 - http://www.mikesdotnetting.com/Article/46/CSharp-Regular-Expressions-Cheat-Sheet
^\ d。* \/\ d。* $也匹配3829/32a38。为什么?字符不应该被允许。如何在第二个数字后强制空白? – timmkrause
啊,\ d *工作,\ d。*似乎是错误的。 – timmkrause
1.^\ d * \/\ d * \ w。* $ 2.^\ d * _ \ d * $ – timmkrause