如何查找字符之间的所有符号

时间:2014-08-26 08:06:26

标签: regex

我需要在-之间获取所有###个字符。

输入字符串:### qwerty-qwerty-qwerty-qwerty - - - ###

(?<=###)\s?([\-]*)\s?(?=###)

提前致谢。

http://regex101.com/r/jL9lZ9/1

3 个答案:

答案 0 :(得分:1)

您可以尝试使用以下正则表达式匹配-中存在的###符号,

(?:^(?:(?!###).)*(?=###.*?###)|(?<=###)(?:(?!###).)*$)(*SKIP)(*F)|-

DEMO

答案 1 :(得分:1)

  (?!.*?###.*?###.*?)(?=.*?###)-

这也有效。 见演示:

http://regex101.com/r/jL9lZ9/4

答案 2 :(得分:0)

这是一个2步骤,略有不同但更容易理解。如果我们尝试在特定模式(-)之间提取模式(###),则可以使用此项。

text="- qwe--### -- - qwerty- --## -qwerty --- ###- qwerty-- qw- - ### - rty--"

请注意,这里有一个双哈希(##),现在我们假设我们只想在三重哈希值(-)之间###

使用它来提取所需的文本(?<=###)[^#]*(?=###)

之后只需要-提取

您可以根据需要替换边界模式和搜索模式。