Gir*_*rpa 2 javascript regex regex-lookarounds
我有以下RegExp:(?<= )L.*(?!MH$)。
这个想法是:
(?<= ) 匹配前必须有 4 个空格,但不能包含在匹配中。L.*匹配必须以L字符串的其余部分开始并包括...(?!MH$) 除非 MH在字符串的末尾。最后一个条件被忽略了。以MH仍然匹配的字符串结尾。为什么?
const regExpStr = String.raw`(?<= )L.*(?!MH$)`;
const regExp = new RegExp(regExpStr);
const str = '2. L2 B4 RHODA 1 ADDN,SOMECITY,OK,74999 - 81 HILLCREST MH';
const match = str.match(regExp)?.[0];
console.log(match);Run Code Online (Sandbox Code Playgroud)
最后,您可以使用此正则表达式进行额外的负面回溯:
(?<= {4})L.*$(?<!MH)
Run Code Online (Sandbox Code Playgroud)
正则表达式详情:
(?<= {4}): 当我们在当前位置前有 4 个空格时允许此匹配L.*$: 匹配以L直到结束的字符串(?<!MH):当我们MH在当前位置(结束)之前匹配失败| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |