所以基本上,我有一个庞大的值列表,我从我的网站复制,并希望它们只是纯文本。我需要为Javascript创建一个正则表达式来删除不需要的东西
以下是值之前的值:
<option value="111122223333">Some text (45)</option>
<option value="345835385390">Some text (10)</option>
<option value="456727235764">Some text (50)</option>
以后是他们需要的样子:
Some text
Some text
Some text
这可能是1个正则表达式,还是需要很多?
我的想法是正则表达式在{/ 1}}之间查找任何内容,然后<
可以在开始和结束>
标记上使用。然后可以稍微修改正则表达式以查找打开option
然后关闭(
以删除“Some text”字符串左侧的计数器数字。
仍在学习正则表达式,所以如果有人也可以在他们的答案中添加一个小解释,那么我就可以对它有所了解。感谢。
答案 0 :(得分:1)
如果你可以使用像jQuery这样的库,你可以简化这个。在这种情况下,您可以使用jQuery对象的text()方法获取内部文本,然后运行一个简单的正则表达式来删除'(xx)'部分:
var vals = $('option').map(function() {
return $(this).text().replace(/\s*\(\d*\)$/, '');
});
// vals => ["some text", "some text", "some text"]
这是一个小提琴:http://jsfiddle.net/jhummel/U46pH/
如果你不能使用库,我认为你正在寻找像这样的正则表达式:
/<[^>]+>([^\(]+)\(\d*\)<[^>]+>/g
修改强>
你问了一个正则表达式的解释,让我们逐个看一下
答案 1 :(得分:0)
如果您希望完成这一切,那么您可以使用以下内容:
(大于)(+)(≤)
然后从比赛中抓住第二组。
编辑:括号用于表示组。