JavaScript字符串截取技巧:符号定位与正则表达式应用
JS字符串根据符号判断并截取
[xss_clean]varstr="安东尼•斯坦尼斯瓦•科瓦尔斯基";vara=str.split("•");alert(a[a.length-1]);[xss_clean]JS截取指定字符串到指定字符串之间的内容
varstr="<123>asdadsadsa<456>";
str=str.match(/<123>(\S*)<456>/)[1];
console.log(str);
\S:匹配所有非空格的字符。
*:匹配前面的子表达式零次或多次。
匹配方法:
语法:
stringObject.match(searchvalue)
stringObject.match(regexp)
搜索值:必填。
指定要检索的字符串值。
正则表达式:必需。
一个RegExp对象,指定要比较的模式。
如果参数不是RegExp对象,则必须首先将其传递给RegExp构造函数以将其转换为RegExp对象。
如果regexp没有g标志,则match()方法只能对stringObject执行匹配。
如果没有找到匹配的文本,则match()返回null。
否则返回一个数组。
例如:
"186a619b28".match(/\d+/g);
如果上述匹配不是全局匹配,则匹配结果如下:
["186",index:0,input:"186a619b28"]。
高级信息:
常用的常规字符
1:将下一个字符标记为特殊字符或文字字符,反向引用或八进制转义字符。
2.^:调整输入字符串的起始位置。
如果设置了RegExp对象的多行属性,^也匹配“n”或“r”之后的位置。
3.$:匹配输入字符串的最终位置。
如果设置了RegExp对象的多行属性,$也会匹配“n”或“r”之前的位置。
4.+:匹配前一个子表达式一次或多次。
5.?:匹配前一个子表达式零次或一次。
6.{n}:n是非负整数。
比赛确定了n次。
7.{n,}:n是非负整数。
至少匹配n次。
8.{n,m}:m和n都是非负整数,其中n<=m。
至少匹配n次,最多匹配m次。
请注意,逗号和两个数字之间不能有空格。
9.?:如果该字符紧跟另一个分隔符(*,+,?,{n},{n,},{n,m}),则匹配模式不是贪婪的。
非贪婪模式尽可能少地匹配搜索到的字符串,而标准贪婪模式则尽可能多地匹配搜索到的字符串。