我想有兩種模式:如何在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