1

您能否匹配出现在模式之后的文本中的模式,例如:

ssasabafra

匹配b之后的所有a?我试过像这样使用后面的样子:

(?<=b)[a]+

但它只匹配第一个a有没有办法匹配之后的所有事件b

4

2 回答 2

3

如果您使用的表达式引擎允许在后向表达式中重复,那么如何:

(?<=b.*?)a

这在后面查找 ab后跟任意数量的字符,并匹配a


然而,对于大多数正则表达式引擎,我认为这是不可能的。但是,您可以做的是拆分字符串b,将第二部分与 匹配/a/,然后再将两个字符串与b.

于 2013-07-22T08:46:09.397 回答
0

这个怎么样:

a(?=[^b]*$)

但是,这并不能确保ba. 我猜你想匹配所有a后面没有包含的子字符串b

在RegexPal上查看演示

如果您想确保在b之前必须有某个地方a,那么您可能应该在您的特定编程语言中使用字符串操作函数。

于 2013-07-22T08:58:07.583 回答