我有一个特定的数字格式:1-2345678908765其中第一个数字由' - '分隔。跟随它的十三个数字。我尝试使用:
[]?[0-9]\-^[0-9]{1,13}$
但没有奏效。
先谢谢
Sanjay Suman
答案 0 :(得分:3)
您的正则表达式语法似乎格式不正确,第一个问题是[]?[0-9]
如果使用(PCRE)形成一个与该组字符中的任何一个字符匹配的字符类。
否则,[]?
执行零宽度匹配,因为您有一个空的可选类。
在连字符后面还有一个字符串^
锚点的开头,其中以下数字不会在字符串中的给定位置处断言。
您可以改用以下正则表达式:
^[0-9]-[0-9]{13}$
<强>解释强>:
^ # the beginning of the string
[0-9] # any character of: '0' to '9'
- # '-'
[0-9]{13} # any character of: '0' to '9' (13 times)
$ # before an optional \n, and the end of the string
<强> Live Demo 强>
答案 1 :(得分:0)
"/^[0-9][-][0-9]{13}$/"
它将匹配一个数字,然后是1个超级,然后是13个数字。
答案 2 :(得分:0)
尝试/^[0-9][\-][0-9]{13}$/gm
您可以在regexr.com
上测试正则表达式答案 3 :(得分:0)
我最后修好了。
[] [0-9] - [0-9] {13}
答案 4 :(得分:0)
请尝试进行分组,这可能对您将来的需求有用,例如:查找和替换。如果要查找以“1”开头的所有行:
(^ 1 {1}) - ([0-9] {13})
要交换第一个和第二个值,您只需要在NotePad ++的“替换”文本框中输入“\ 2- \ 1”。
BTW - 请检查https://www.regex101.com/以了解您的需求。