0

我正在使用 JavaScript 正则表达式引擎。

正则表达式^(.*?)\s*(?=[*\[]).*将捕获一个包含所有字符的组,直到一个[or*字符。它适用于这些行,匹配整行并捕获第一部分:

This should be captured up to here[ but no further]
This should be captured up to this asterisk* but not after it*

但是,如果它不包含这些字符,我还想捕获整行:

This entire line should be captured.

此正则表达式^(.*?)\s*(?=[*\[]).*|^(.*)$匹配整行,但不会捕获group 中的任何内容\1

是否可以修改前瞻以便它也能找到no more characters

4

2 回答 2

2

只需在肯定的前瞻断言中添加行尾锚。

^(.*?)\s*(?=[*\[]|$)

演示

于 2015-02-21T17:36:10.040 回答
2

您可以使用此正则表达式:

/^(.*?)\s*(?=[*\[]|[^*\[]$)/

正则表达式演示

于 2015-02-21T17:36:16.067 回答