我正在使用C#编写一个pdf scrapper,我遇到了正则表达式问题。我想只匹配帐号,我的正则表达式语句匹配错误的行和正确的行。我想我必须匹配所有内容,直到换行,但我找不到办法。
This is my regex: ([A-Z0-9\-]{5,30})-[0-9]{1,10}-[0-9]{3}
XXX-XX-914026-1558513 // I don't want to match this line
130600298-110-528 // I want to match this line
提前致谢!
答案 0 :(得分:1)
你必须添加锚点:
^([A-Z0-9\-]{5,30})-[0-9]{1,10}-[0-9]{3}$
^ ^
这意味着行首(^
)和行尾($
)。
如果你没有,那么匹配将是:
XXX-XX-914026-1558513
^^^^^^^^^^^^^^^^^
此外,您不必在角色类的末尾逃脱插入符号,您可以使用\d
而不是[0-9] 注意:这将匹配任何数字charset 给出:
^([A-Z0-9-]{5,30})-\d{1,10}-\d{3}$