Regex搜索记录,从第10个字符开始到第一个字符进行完全匹配

vsmadaxz  于 2023-08-08  发布在  其他
关注(0)|答案(3)|浏览(80)

我有一个问题与形式一个正则表达式条件。我有一个文本

1234567890,text1,text11, some text...
1204500006,text2,text22, some text...
1216432200,text3,text33, some text...
1234812000,text4,text44, some text...

字符串
我需要构造一个正则表达式,它将查找第一个数字(前10个字符)从末尾开始组合为00的条目。
输入:

1234567890,text1,text11, some text...
1204500006,text2,text22, some text...
1216432200,text3,text33, some text...
1234812000,text4,text44, some text...


产出:

1216432200,text3,text33, some text...


我写了一个正则表达式来查找前10个字符,但是我不能从这10个字符的末尾开始添加搜索^([0-9]{10})
请帮助解决这个问题。

goqiplq2

goqiplq21#

对于至少一次出现的00,如果周围没有任何0,您可以使用lookarounds(如果支持):

^(?=\d{10}\b)\d*(?<!0)00(?!0).*

字符串

  • ^字符串开头
  • (?=\d{10}\b)正lookhead,Assert10位数字,后跟一个字边界(或将\b更改为,,如果应该存在)
  • \d*匹配可选数字
  • (?<!0)00(?!0)匹配00未被0包围
  • .*匹配行的其余部分

Regx demo
如果只有第8个数字不能是零,则可以匹配7个数字,对于第8个数字,可以使用字符类[1-9]来省略匹配零:

^\d{7}[1-9]00\b.*


Regex demo

643ylb08

643ylb082#

有时候解决办法很简单。请你试试这个:
第一个月
不幸的是,字符串的第一个索引可以配置为^字符。

2nc8po8w

2nc8po8w3#

请使用https://regex101.com/
我做到了,找到了这个解决方案。

^\d{8}00.+$

字符串

相关问题