一个文本文件中,内容如下:(注:横线上方我标记的是位置。)
123456...... 30 31 32 33 ......
------------------------------------------------------------------------------------------------
AA山田 花1 1234 aaa
AA山田 下夫12 1111 aaa
AA山田 下夫1 1212 aaa
AA山田 下夫123 2323 aaa
AA山田 下夫12 8888 aaa
......
......
......
我的目的是:
检查半角的第30位开始的连续4位不全是数字的查找出来,于是我用了这个正则:^.{29}(?!\d{4})
但是因为第3位开始是全角的日文姓名再加一些全角的数字,而正则中的“.”匹配的是半角或全角,在匹配全角字符时,正则会当成1个字符,但实际它占了2个半角的位置,就导致“.{29}”匹配之后实际的位置就到了第32、33位之后。
我想直接用一个正则表达式来解决这个问题,因为就是在文本文件中,不想利用编程解决。
我自己的一些思考:
正则中是否有只匹配位置的功能?如果有的话,我就只忽略前29个半角位置,可能就能解决这个问题。
想请教朋友们,非常感谢!