Javascript 在文档中查找regexp。getelementbyid

Javascript 在文档中查找regexp。getelementbyid,javascript,regex,Javascript,Regex,我是reg exp新手,我已经搜索了很多关于模式的内容,以在我最终找到的字符串值中找到圆括号。但当我从DIV中获取值时,这不起作用 下面是javascript代码 function myText(){ var inputString = document.getElementById("text").innerHTML; var result = inputString.match(/\(+/g); alert(result); } myText(); HTML代码 <d

我是reg exp新手,我已经搜索了很多关于模式的内容,以在我最终找到的字符串值中找到圆括号。但当我从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

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

我在警报中得到的结果为空

我只希望圆括号不在值内

输出应为

请解释我做错了什么

拨弄

谢谢
Mahadevan

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

var inputString=document.getElementById(“text”).innerHTML

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

//结果[0]包含(祖国)


//结果[1]中包含

以下是我认为错误的地方:

  • 你需要得到这样的值

    var inputString = document.getElementById("text").innerHTML;
    
  • 要在“圆括号”之间查找文本的表达式为:

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

  • 因为有阿拉伯字符,我在你的JSFIDLE中复制它时遇到了麻烦。您可能必须找到这些字符的实际unicode值,并在正则表达式中使用它们


  • 这是一个没有阿拉伯字符的演示:

    innerHTML。值
    将是
    未定义的
    。请尝试
    getElementById('text')。textContent
    您好,谢谢您的输出,但我只希望圆括号不在值内。您好,谢谢您的输出,但我只希望圆括号不在值内。然后只需将捕获组括号移到
    \(
    \)
    之外即可。如下所示:
    var result=inputString.match(/(\([^\)]+\)/)。演示:。现在它在比赛中包括了括号。非常感谢你的回复。我不希望文本在括号内。我只需要开括号而不是闭括号。为什么要使用正则表达式来匹配单个开括号?这是一个非常奇怪的要求,但你可以这样做:
    
    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