我有一个如下文字文件。每条记录有12个字段,由multiplier
分隔,但没有像换行符那样的记录分隔符,每条记录都以|
开头。我试图用RegEx解析它。
555 555
的 555 |abc|user|2|20120914055204696|20120914055204718|0||||21|33
的 555 |def|udp|2|20120914055204696|20120914055204718|0||||22|33
我尝试使用|abc|user|2|20120914055204696|20120914055204718|0||||23|33
,但它没有用。有人可以帮我这个吗?
答案 0 :(得分:1)
您可以使用
555(?:\|[^|]*){11}(?=$|555)
请参阅demo
它将匹配输入字符串中的这些记录:
555|abc|user|2|20120914055204696|20120914055204718|0||||21|33
555|def|udp|2|20120914055204696|20120914055204718|0||||22|33
555|abc|user|2|20120914055204696|20120914055204718|0||||23|33
正则表达式555(?:\|[^|]*){11}(?=$|555)
匹配:
555
- 文字555
(?:\|[^|]*){11}
- 11次出现|
后跟除|
(?=$|555)
- 最多(但不是作为匹配的一部分返回)字符串结尾或555
。答案 1 :(得分:0)