Javascript 在文档中查找regexp。getelementbyid
我是reg exp新手,我已经搜索了很多关于模式的内容,以在我最终找到的字符串值中找到圆括号。但当我从DIV中获取值时,这不起作用 下面是javascript代码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
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