Regex 只有此数字存在时,正则表达式匹配不同的数字
早上好 我一直与regex在寻找实施此类案例的方法时存在问题:Regex 只有此数字存在时,正则表达式匹配不同的数字,regex,string,regex-negation,regex-lookarounds,Regex,String,Regex Negation,Regex Lookarounds,早上好 我一直与regex在寻找实施此类案例的方法时存在问题: 输入字符串(测试字符串)可以是以下任何选项: 空字符串: “” 带有一个数字的字符串(并且可能是行乞处的字母): “1234567890” “aa1234567890” 带有多个数字的字符串(并且在行处可能是字母)用分号分隔: “1234567890;1234567890” “aa1234567890;aa1234567890” “aa1234567890;1234567890” “1234567890;aa12345678
输入字符串(测试字符串)可以是以下任何选项:
- 空字符串:
- “”
- 带有一个数字的字符串(并且可能是行乞处的字母):
- “1234567890”
- “aa1234567890”
- 带有多个数字的字符串(并且在行处可能是字母)用分号分隔:
- “1234567890;1234567890”
- “aa1234567890;aa1234567890”
- “aa1234567890;1234567890”
- “1234567890;aa1234567890”
- “1234567890;aa1234567890;…”(您可以想象的任意组合)
我的正则表达式搜索将始终尝试匹配已知字符串,该字符串始终如下所示:
- 单个数字:
- “12345”
- 以一些字母开头的单个数字:
- “bb12345”
我已经试过了,但没有成功:
总而言之,当我在测试正则表达式时拥有构建正则表达式的已知字符串(比如“12345”)时,匹配只会发生:
- [任何字符或行首或字符串开头但不是数字]12345[任何字符或字符串结尾或行尾但不是数字]
- 例如:
- “12345”。测试(“(12345)”)-->Match
- “123456”。测试(“(12345)”)-->不匹配
- “012345”。测试(“(12345)”)-->不匹配
- “12345;”。测试(“(12345)”)-->Match
- “123456;”。测试(“(12345)”)-->不匹配
- “012345;”。测试(“(12345)”)-->不匹配
- “a12345”。测试(“(12345)”)-->匹配
- “a123456”。测试(“(12345)”)-->不匹配
- “a012345”。测试(“(12345)”)-->不匹配
- “a12345;”。测试(“(12345)”)-->匹配
- “a123456;”。测试(“(12345)”)-->不匹配
- “a012345;”。测试(“(12345)”)-->不匹配
/(?:^|\D)12345(?!\d)/
它匹配:
-字符串或任何非数字字符的开头(?:^ |\D)
-已知值12345
-已知值后面不能有数字(?!\d)
val=12345;
rx=newregexp(“(^ |\\D)”+val+“(?!\\D)”);
console.log(rx.test(“12345”);//匹配
console.log(rx.test(“123456”);//没有对手
控制台日志(接收测试(“012345”);//没有对手
console.log(rx.test(“12345;”);//匹配
console.log(接收测试(“123456;”);//没有对手
控制台日志(接收测试(“012345;”);//没有对手
console.log(接收测试(“a12345”);//匹配
console.log(接收测试(“a123456”);//没有对手
控制台日志(接收测试(“a012345”);//没有对手
console.log(接收测试(“a12345;”);//匹配
console.log(接收测试(“a123456;”);//没有对手
console.log(接收测试(“a012345;”);//不匹配
我在回答我的问题,但所有的功劳都归用户Egan Wolf所有,因为他是在原始帖子的评论中发布解决方案的人(我不知道如何标记他或给予他功劳)
我的问题的答案用这个正则表达式解决了:
([^0-9;\n]*(?<!\d)1234567890(?!\d)[^0-9;\n]*)
([^0-9;\n]*(?
可在此处查看:
非常感谢您的帮助!类似于^\D*12345(?:;$)
?或(?)如果是JS,(?:^\D)12345(?!\D)
?我更新了您的,检查这是否是您需要的。非常感谢您Egan Wolf,它工作起来很有魅力!