使用正则表达式选择字符内的区域(空格是一个问题)

时间:2014-08-20 14:37:32

标签: regex

其他一些人早些时候提出了一个类似的问题,这个问题得到了很多选票,而且我有兴趣解决这个问题。我遇到了类似的问题,希望得到一些帮助。

考虑这一文字墙:

__don't__ and __do it__

__yellow__

__green__ and __purple__

我想选择下划线中的所有区域__'

我尝试了以下正则表达式: /__[!-~]+__/g在大多数事情上都很有效。我想添加在下划线中有空格的能力。 __do it__将不会封装在搜索中,因为它包含一个由正则表达式排除的空格。我尝试了以下方法:

/__[ -~]+__/g

它没有按计划工作,并从最初的__到最后一个选择了所有内容。我想知道如果在__之后看到一个空格,如何告诉正则表达式它已经到了搜索结束。

下面是你可以玩的正则表达式:

http://regexr.com/39br7

我最后尝试使用__[^ ]/g,但它似乎没有帮助。

2 个答案:

答案 0 :(得分:0)

你可以简单地使用下面的正则表达式,

__[^_]*__

DEMO

答案 1 :(得分:0)

__(.*?)__

这似乎有效。看看演示。

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