在此 JavaScript 正则表达式中添加删除前导空格和尾随空格
Adding removing leading and trailing spaces in this JavaScript RegEx
如何
添加代码以删除此正则表达式的前导空格和尾随空格?
我尝试将's
放在几个地方,但最终得到了奇怪的结果。
myString
就是这样,是从 PHP 脚本with
尾随空格发送的。
原始代码
var myString = "::This is string 1 ::This is string 2! ";
myString = myString.replace(/'::(.+?)(?![^::])/g,'<li>$1</li>');
alert(myString);
试
var myString = "::This is string 1 ::This is string 2! ";
myString = myString.replace(/'::(.+?)(?![^::'s])/g,'<li>$1</li>');
alert(myString);
我试图实现的最终结果是
<li>This is string 1</li> // No trailing spaces before or after the `This` and `1`
<li>This is String 2</li>
小提琴
关键是您将空格与 .+?
匹配,并且(?![^::'s])
只告诉正则表达式引擎在字符后跟空格或:
时不匹配。
由于您已经在使用惰性匹配,因此您只需要使用贪婪的's*
子模式来匹配.+?
后的空格。
用
::(.+?)'s*(?=::|$)
查看演示
解释:
-
::
- 比赛 2:
秒 -
(.+?)
- 匹配并捕获除换行符以外的一个或多个字符并捕获到组中 1 -
's*
- 贪婪地匹配零个或多个空格 -
(?=::|$)
- 仅当后跟::
或字符串结尾时。
这是我展开正则表达式的尝试(看起来比上面更有效):
::('S*(?:(?=('s+))'2(?!:|$)'S*)*)
观看其他演示
试试这个:
var myString = "::This is string 1 ::This is string 2! ";
myString = myString.replace(/'s*'::'s*(.*?)'s*(?=(::|$))/g,'<li>$1</li>');
JSFiddle
相关文章:
- 如何从字符串中删除除字母、数字、空格、感叹号和问号之外的所有内容
- JavaScript从字符串中删除尾随空格和句点
- 用于在Javascript中删除多个空格的特殊字符
- 使用 JavaScript 删除标签之间的每个空格
- 当可见属性设置为 false 时,使用 JavaScript 删除空格
- Javascript - 删除粘贴上的空格
- 在某些情况下,“text”方法会删除单词之间的空格
- JavaScript 从字符串中删除句号、逗号和空格
- 删除仅空格数组元素
- 我想限制用户在jquery中输入文本后面的空格,如果它在文本后面,我会删除空格
- regex删除除回车以外的空格
- 删除给定字符前的多余空格
- 如何从加载到javascript中的导出XML数据中删除不需要的空格
- 删除空格后的所有字符串
- 通过JavaScript或jQuery删除P标记,其中包含不间断的空格
- Regex从空格分隔的字符串中删除连续重复项
- jQuery从数组中删除空格
- 谷歌地图自动完成删除空格并在地址字符串中插入加号(+)
- 删除标点符号 javascript/jquery 之前的空格
- 有人知道在线的尾随空格删除器吗?