正则表达式从一个角色的最后一个外观到另一个角色的外观匹配,不包括任何一个

时间:2017-06-21 22:59:41

标签: regex

基本上我需要找到一个匹配两个字符之间内容的正则表达式:

// Whatev?呃? Shoud匹配“Whatev”

我尝试了很多正则表达式,没有用。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望匹配两个分隔符之间的所有文本。

我们的分隔符是"%"。您可以查找分隔符,然后匹配每个不是分隔符的字符,然后匹配最终分隔符。 E.g。

/%([^%]+)%/

如果你想使用两个字符,一个' start'并且可以执行以下操作:/%([^#]+)#/其中'%'是一个开始,'#'结束了。

根据你的评论,你做(在必要时逃避斜线和问号):

/\/([^?]+)\?/

答案 1 :(得分:0)

between the last "/" and the first "?" [过去的最后一次/]

将是

没有断言:/([^/?]*)\?[^/]*$导致捕获组1 断言:(?<=/)[^/?]*(?=\?[^/]*$)结果是组0

示例匹配:

  

/ asdf?/ asdf / asdf?asdf?asdf

示例无匹配:

  

/ asdf?/ asdf / asdf?asdf?a / sdf