我希望我的正则表达式在遇到字母后停止匹配长度在2到10之间的数字.
到目前为止,我已经想出了(\d{2,10})(?![a-zA-Z])
个这个.但即使遇到字母,它仍会继续匹配.
你能帮忙吗?谢谢
我希望我的正则表达式在遇到字母后停止匹配长度在2到10之间的数字.
到目前为止,我已经想出了(\d{2,10})(?![a-zA-Z])
个这个.但即使遇到字母,它仍会继续匹配.
你能帮忙吗?谢谢
您可以使用以下选项.净正则表达式
(?<=^\P{L}*)(?<!\d)\d{2,10}(?!\d)
(?<=^[^a-zA-Z]*)(?<!\d)\d{2,10}(?!\d)
请参见regex demo.Details:
(?<=^\P{L}*)
-在字符串开始之前,当前位置不得有任何字母((?<=^[^a-zA-Z]*)
仅支持ASCII字母)(?<!\d)
-左侧不允许有数字.\d{2,10}
-两到十位数(?!\d)
-右侧不允许有数字.