在文档中找到正则表达式。的getElementById

时间:2015-07-07 00:38:03

标签: javascript regex

我是reg的新手我已经搜索了很多关于模式的信息,最后找到了我找到的字符串值中的圆括号。但是当我从DIV获得价值时,这不起作用

这是javascript代码

function myText(){   
 var inputString = document.getElementById("text").innerHTML;
 var result = inputString.match(/\(+/g);
 alert(result);
 }
 myText();

HTML代码

<div  id="text">
 welcome to (MotherLand)
</div>

我尝试从inputString中删除.value

我在警告中将结果显示为 null 。我尝试从inputString中删除.value

我在控制台窗口中收到错误 无法读取未定义的属性“匹配”

我在alert

中将结果显示为null

我只想要圆圈括号不在值内。

输出应为

请向我解释我做错了什么。

小提琴link

由于 马哈德

2 个答案:

答案 0 :(得分:2)

如果您尝试在()中获取字符串,则可以使用以下正则表达式

http://jsfiddle.net/12auwf1s/

var inputString = document.getElementById("text").innerHTML

var result = inputString.match(/\(([^)]+)\)/);

//result[0] contains (Motherland)

//result[1] contains Motherland

答案 1 :(得分:1)

以下是我看错了:

  1. 您需要获得这样的值。

    var inputString = document.getElementById("text").innerHTML;
    
  2. 要在&#34;圆括号&#34;之间找到文字的表达式是:

    var result = inputString.match(/\(([^\)]+)\)/);
    
    \(      // Match open parenthesis
    (       // Start a capture group
    [^\)]+  // Match any character except a close parenthesis, repeating.
    )       // End capture group
    \)      // Match close parenthesis
    

    result将是一个数组。第一个位置将是整个匹配,阵列中的后续位置将是表达式中的任何捕获组。因此,要从括号之间获取文本,您可以访问result[1]

  3. 由于阿拉伯字符,我在jsFiddle中复制它时遇到了麻烦。您可能必须找到这些字符的实际unicode值,并在正则表达式中使用它们。 Insert Unicode character into JavaScript

  4. 这是一个没有阿拉伯字符的演示:http://jsfiddle.net/tvxmrLgv/7/