找到以下对象的正确regexpr模式:
查找6位和8位的所有未折叠或前面没有数字的区块: 例: 你会发现:找到以下对象的正确regexpr模式:,regex,Regex,查找6位和8位的所有未折叠或前面没有数字的区块: 例: 你会发现: 123456 222222 12345678 333333 987654 regexpr模式应该是什么 这个不行: (^|\D)((\d{6})|(\d{8}))($|\D)/g 为什么2222222集团不匹配。在123456之后的-在第一次迭代中与($)\D)模式部分匹配并使用,因此,最好使用(?!\D)(或(?=$\D,但是(?!\D)更快) 你可以用 (?:^|\D)(\d{6}(?:\d{2})?)(?!\d) 见
123456
222222
12345678
333333
987654
regexpr模式应该是什么
这个不行:
(^|\D)((\d{6})|(\d{8}))($|\D)/g
为什么
2222222
集团不匹配。在123456
之后的-
在第一次迭代中与($)\D)
模式部分匹配并使用,因此,最好使用(?!\D)
(或(?=$\D
,但是(?!\D)
更快)
你可以用
(?:^|\D)(\d{6}(?:\d{2})?)(?!\d)
见
详细信息
-字符串或任何非数字的开头(?:^ |\D)
-第1组:6位数字,可选后跟2位数字(\d{6}(?:\d{2})
-6位或8位数字后不允许有数字(?!\d)
123456
之后的-
与($\D)
模式部分匹配并使用,因此,最好使用(?!\D)
(或(?=$\D
,但(?!\D)
更快)
你可以用
(?:^|\D)(\d{6}(?:\d{2})?)(?!\d)
见
详细信息
-字符串或任何非数字的开头(?:^ |\D)
-第1组:6位数字,可选后跟2位数字(\d{6}(?:\d{2})
-6位或8位数字后不允许有数字(?!\d)
(?<!\d)(\d{6}|\d{8})(?!\d)
(?
(?为负数,请向后看,以确保数字前面没有数字
(?!\d)
为负数,请查看并确保数字后面没有数字
您可以看到这个正则表达式的作用您可以使用负向前看和负向后看的概念,如下所示:
(?<!\d)(\d{6}|\d{8})(?!\d)
(?
(?为负数,请向后看,以确保数字前面没有数字
(?!\d)
为负数,请查看并确保数字后面没有数字
您可以看到这个正则表达式的作用我保留了这个解决方案:(?:^\D)(\D{6}(?:\D{2})(?!\D)
谢谢大家。
没问题。
祝你今天愉快
再见我保留这个解决方案:(?:^\D)(\D{6}(?:\D{2})(?!\D)
谢谢大家。
没问题。
祝你今天愉快
再见