我正在尝试提出一个分组和解析多个场景的正则表达式。
我在调用regexp时使用的是XML。
<field name="access_device" count="17" delimiter="{_csv_}" edit="re=(\w+\---\w+)\S+|(\w+\_\d+)|(\w+)\d\S+|(\w+\-\w+)\S+"case="upper" allow-blank="yes" />
我想出这个正则表达式它几乎可以工作,但它省略了我要解析的组的最后一个字符。在这个正则表达式中我有4个我想要解析的组。
Group1 Group2 Group3 Group4
(\w+\---\w+)\S+|(\w+\_\d+)|(\w+)\d\S+|(\w+\-\w+)\S+
我从下面的客户收到的文字:
Future_7330
Future_7340
SNANTXWA010153021-76.200.41.6-MULTI AND MGT
SNAZTXSI01HUT1011-76.200.41.30-Unicast
SNANTXW010153021-76.200.41.6-UNICAST
IPDSLAM-HXC101260-71-71.149.53.62
CHVWTXGT---01CAB101A-71.149.53.58
ATASTXADOL0010BAY111-71.149.52.41-MULTI AND MGT
文字我只希望我的正则表达式在下面进行解析:这与regexp group3 (\w+)\d\S+
的一部分有关,如果我删除它\d
它有效但是混乱了Group4 (\w+\-\w+)\S+
并且如果影响文字IPDSLAM-HXC101260
只会在仅提供IPDSLAM
Future_7330
Future_7340
SNANTXWA010153021 <-- not working correctly (it omit the last digit)
SNAZTXSI01HUT1011 <-- not working correctly (it omit the last digit)
SNANTXW010153021 <-- not working correctly (it omit the last digit)
IPDSLAM-HXC101260
CHVWTXGT---01CAB101A
ATASTXADOL0010BAY111 <-- not working correctly (it omit the last digit)
我正在使用此regexr网站来测试我的正则表达式
答案 0 :(得分:0)
尝试使用前瞻性的一个:
^(\w+---\w+|\w+-\w+|\w+)(?=[-\n])