簡體   English   中英

僅匹配c#字符串中的正則表達式

[英]Only match regular expression in c# string

我對正則表達式不太好,所以這可能是一個顯而易見的問題。

如果找到一定數量的字符,我希望我的表達式匹配,如果存在任何額外字符,則表示失敗。 例如,如果我有一個應該有4位數的字符串,則以下內容應該為真。

1234 - 比賽
ab1234cd - 不匹配
012345 - 不符合

到目前為止我所擁有的是\\ d {4},但我的理解是,這只會匹配任何地方有4位數的字符串。 我想匹配只有一個字符串包含4位數而沒有別的。

任何幫助,將不勝感激。 謝謝。

使用^和$標記字符串的開頭/結尾。

根據您的實現方式(單線模式或多線模式),您可以使用類似於:

^\d{4}$

僅匹配(字符串的開頭)四位數字(字符串的結尾)。

\\ b [0-9] {4} \\ b或^ \\ d {4} $應該都有效。 也許我可以稍微擴展一下GrayWizardx所說的內容(以防萬一你在C#中不使用正則表達式),上面提供的正則表達式會查找只有4位數的行。 默認情況下(如果內存對我很好),正則表達式引擎只查看第一行,所以如果你有一個超過1行的字符串,你想檢查整個字符串(例如,字符串已經從文件加載),您將添加選項RegexOptions.MultiLine。 通過這種方式,引擎也將查看其他線路。

希望這有幫助:)

我相信\\b[0-9]{4}\\b應該做的伎倆。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM