匹配一个字符后跟另一个字符

时间:2013-04-23 15:02:16

标签: javascript regex match

我希望找到一个.,并在找到(后使用正则表达式获取任何字符。我如何实现这一目标?

我还想看一些关于Javascript正则表达式的好教程。

2 个答案:

答案 0 :(得分:1)

您似乎遇到了转义概念的问题。 .(字符在RegEx中具有特殊含义,因此您需要在它们前面放置\来逃避它们。例如,要匹配文字点,您可以使用\.

对于重复,您可以分别使用*+分别为0+和1+。它们在前面的表达式中用作修饰符。因此,例如,A+表示“一个或多个A字符”,而A*表示“零个或多个A字符”。您还可以使用?修饰符来更改这些匹配的“贪婪”行为,但这是一个更复杂的主题。

如果您需要约束确切的重复次数,可以使用{n}语法。例如,您可以使用A{10}来匹配10 A个字符,或使用A{3,5}来匹配3到5个A个字符。

这些也适用于组和类,例如[A-Z]{3}(a*b+){3}

就RegEx教程而言,几乎无处击败Regular-Expressions.info,尽管MDN article on RegEx在JavaScript方面也可能有用。

答案 1 :(得分:1)

以下正则表达式适合您:

[.]([^(]*)[(]

您要捕获的文本将在组#1中提供。

Javascript代码:

var str='here is a sentance. and some other text ( here )';
var match = str.match(/[.]([^(]*)[(]/);
console.log(match[1]); //  and some other text 

现场演示:http://www.rubular.com/r/ALqusiC9EQ