我的回复数据是 -
的MyString = 01015400007715243552T2867X01051005012447 / 3 /七分之一千二百○七\ u0026index = 2
的MyString = 014274的 X9 000010152435500000MT2867X0154992365418 / 3 /七分之一千二百○七\ u0026index = 3
我想写一个正则表达式来匹配第一个字符串并忽略第二个字符串,下面是我的要求。
正如我在第二个字符串中突出显示的那样,如果值包含X9,则我不应该匹配该字符串。
我试过很多正则表达式,但是dint帮了我很多。 我试过MyString =(。* [^ X9]。+?)u0026 请有人帮帮我
答案 0 :(得分:1)
您可以尝试使用以下正则表达式:
MyString=(?:(?!X9).)*\\u0026
演示:
参考文献:
答案 1 :(得分:1)
您可能使用的正则表达式是
MyString=((?:(?!X9).)*?)u0026
或者,为了避免在反斜杠中匹配,
MyString=((?:(?!X9).)*?)\\u0026
或者,如果\\u0026
实际上只是&
的代表(并且您实际上有&
),请使用
MyString=((?:(?!X9)[^&])*)
(?:(?!X9).)*?
是一个tempered greedy token,匹配任何字符,尽可能少,不会启动X9
序列。
<强>详情
MyString=
- 文字子字符串((?:(?!X9).)*?)
- 任何char,0+重复,尽可能少(因为*?
是一个惰性量词,迫使正则表达式引擎首先跳过可量化模式并尝试所有后续模式,并且仅如果他们没有匹配,那么#34;扩展&#34;),直到第一次出现X9
u0026
- 文字子字符串