我是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
由于 马哈德
答案 0 :(得分:2)
如果您尝试在()
中获取字符串,则可以使用以下正则表达式
var inputString = document.getElementById("text").innerHTML
var result = inputString.match(/\(([^)]+)\)/);
//result[0] contains (Motherland)
//result[1] contains Motherland
答案 1 :(得分:1)
以下是我看错了:
您需要获得这样的值。
var inputString = document.getElementById("text").innerHTML;
要在&#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]
。
由于阿拉伯字符,我在jsFiddle中复制它时遇到了麻烦。您可能必须找到这些字符的实际unicode值,并在正则表达式中使用它们。 Insert Unicode character into JavaScript
这是一个没有阿拉伯字符的演示:http://jsfiddle.net/tvxmrLgv/7/