Javascript 从文本中删除项目符号的正则表达式无效
可能的重复项:Javascript 从文本中删除项目符号的正则表达式无效,javascript,regex,Javascript,Regex,可能的重复项: 我正在从微软Word复制一些数据。该文本可能包含或不包含复制文本中的项目符号。但是我需要一个javascript正则表达式来从复制的文本中删除任何类型的项目符号。下面给出了我的代码。到目前为止,它只删除了• var x = "1. Jnflkvkbfjvb 2. Kjnfbhvjbv 3. ;kbvrjvbrjvb • Jnflkvkbfjvb • Kjnfbhvjbv • ;kbvrjvbrjvb a) Jn
我正在从微软Word复制一些数据。该文本可能包含或不包含复制文本中的项目符号。但是我需要一个javascript正则表达式来从复制的文本中删除任何类型的项目符号。下面给出了我的代码。到目前为止,它只删除了•
var x = "1. Jnflkvkbfjvb 2. Kjnfbhvjbv 3. ;kbvrjvbrjvb • Jnflkvkbfjvb • Kjnfbhvjbv • ;kbvrjvbrjvb a) Jnflkvkbfjvb b) Kjnfbhvjbv c) ;kbvrjvbrjvb A. Jnflkvkbfjvb B. Kjnfbhvjbv C. ;kbvrjvbrjvb I. Jnflkvkbfjvb II. Kjnfbhvjbv III. ;kbvrjvbrjvb ";
x = x.replace(/[•\t.+]/g, '');
x = x.replace(/[[1-9]{?}+[.]\t]/g, '');
alert(x);
请有人帮帮我。问题是过度使用括号。试试这个:
x= x.replace(/[•\t]+/g, '');
x= x.replace(/[1-9]{?}+[.]\t/g, '');
括号创建一组要匹配的字符。当您将整个内容包装在括号中时,它试图只匹配括号中字符组中的任何单个字符(并且没有嵌套,因此它在第二个查询中吃掉了所有重复的字符)
从示例文本中删除所有项目符号。请小心,因为这可能会删除您不想删除的文本
说明:
( # group 1
[0-9A-Z]+ # any combination of digits 0-9 or letters A-Z
[.)] # either a dot or a closing paren
| # ...or
• # a bullet sign
)\s+ # end group 1, match any following whitespace
(#第一组)
[0-9A-Z]+#数字0-9或字母A-Z的任意组合
[)]#一个点或一个结束符
|#……或
•#子弹符号
)\s+#结束组1,匹配以下任何空格
它基本上是你想要移除的各种子弹的混合物:
-编号的项目符号\d\.\s+
-带右括号的小写字母项目符号[a-z]\)\s+
-常用项目符号•\s+
-带点的大写项目符号[A-Z]\.\s+
-罗马编号的项目符号[IVX]+\.\s+
[1-9]{}+
做什么?它将匹配类似于1{}}
的内容,请参见。我相信那不是你想要的。+1几乎和上次他问这个问题时我给他的答案一样@stema:我明白了。显然,有时解释事情并不足以让他们坚持下去已结束的问题重复。有些人真的让我怀疑他们这样做是不是为了好玩。有时候解释两遍会有帮助;)
( # group 1
[0-9A-Z]+ # any combination of digits 0-9 or letters A-Z
[.)] # either a dot or a closing paren
| # ...or
• # a bullet sign
)\s+ # end group 1, match any following whitespace
x = x.replace(/\d\.\s+|[a-z]\)\s+|•\s+|[A-Z]\.\s+|[IVX]+\.\s+/g, "");