//去除左右空格 //最简洁版本 function trim(str){ //写的严谨点,这里要判断str是不是字符串 return str.replace(/^\s* | \s*$/g,''); } //自己想的另外一种写法 function trim(str){ //写的严谨点,这里要判断str是不是字符串, //并且判断正则reg.exec(str)是否能匹配到 var reg=/^\s*(.*\S)\s*$/; return str.replace(reg,reg.exec(str)[1]); } 补充另外一个刚刚想到的 function trim(str){ return str.replace(/^\s*(.*\S)\s*$/,'$1'); }
<ul id="testdom"> <li>1</li> <li>2</li> <li>3</li> </ul> //替换li中文本为3的内容 //这个怎么理解? 1:替换最后一个节点的文本内容 document.getElementById("testdom").lastChild.innerText="要替换的文本"; 或者(节点数已知) document.getElementById("testdom").children[2].innerText="要替换的文本"; 2:只要文本为3,那么就替换这个节点的内容 var ul=document.getElementById("testdom"); var lis=ul.getElementsByTagName("li"); for循环判断内容进行替换
//统计字符串出现的字数
顺便说一下正则表达式的基本知识,等以后有空补充完整版本 以下内容引用地址http://www.iteye.com/topic/481228/ . IE下[^\n],其它[^\n\r] 匹配除换行符之外的任何一个字符 \d [0-9] 匹配数字 \D [^0-9] 匹配非数字字符 \s [ \n\r\t\f\x0B] 匹配一个空白字符 \S [^ \n\r\t\f\x0B] 匹配一个非空白字符 \w [a-zA-Z0-9_] 匹配字母数字和下划线 \W [^a-zA-Z0-9_] 匹配除字母数字下划线之外的字符 量词(下表量词单个出现时皆是贪婪量词) 代码 描述 * 匹配前面的子表达式零次或多次。 + 匹配前面的子表达式一次或多次。 ? 匹配前面的子表达式零次或一次。 等价于 {0,1}。 {n} n 是一个非负整数。匹配确定的 n 次。 {n,} n 是一个非负整数。至少匹配n 次。 {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。 贪婪量词与惰性量词 惰性量词仅仅在贪婪量词后面加个"?"而已,如"a+"是贪婪匹配的,"a+?"则是惰性的 var str = "abc"; var re = /\w+/;//将匹配abc re = /\w+?/;//将匹配a 多行模式 var re = /[a-z]$/; var str = "ab\ncdef"; alert(str.replace(re,"#"));//ab\ncde# re =/[a-z]$/m; alert(str.replace(re,"#"));//a#\ncde# 分组与非捕获性分组 //捕获性分组 re = /abc{2}/;//将匹配abcc re = /(abc){2}/;//将匹配abcabc str = "abcabc ###"; arr = re.exec(str); alert(arr[1]);//abc //非捕获性分组 (?:) re = /(?:abc){2}/; arr = re.exec(str); alert(arr[1]);//undefined 候选(也就是所说的“或”) re = /^a|bc$/;//将匹配开始位置的a或结束位置的bc str ="add"; alert(re.test(str));//true re = /^(a|bc)$/;//将匹配a或bc str ="bc"; alert(re.test(str));//true 当包含分组的正则表达式进行过test,match,search这些方法之后,每个分组都被放在一个特殊的地方以备将来使用,这些存储是分组中的特殊值,我们称之为反向引用 var re = /(A?(B?(C?)))/; /*上面的正则表达式将依次产生三个分组 (A?(B?(C?))) 最外面的 (B?(C?)) (C?)*/ str = "ABC"; re.test(str);//反向引用被存储在RegExp对象的静态属性$1—$9中 alert(RegExp.$1+"\n"+RegExp.$2+"\n"+RegExp.$3); //反向引用也可以在正则表达式中使用\1 ,\2...这类的形式使用 re = /\d+(\D)\d+\1\d+/; str = "2008-1-1"; alert(re.test(str));//true str = "2008-4_3"; alert(re.test(str));//false
相关推荐
greta-2.6.4-vc6正则表达式
手机号-邮箱-用户名-正则表达式
re --- 正则表达式操作 — Python 3.10.0a4 文档.pdf
Python-24-正则表达式.md
EXCEL-VBA-正则表达式-从实例开始.docx
自己整理的正则表达式,拿出来供大家学习,相互交流
Regex-Match-Replace-正则表示式替换工具测试工具,对编程有帮助.
jakarta-oro-2.0.8 java正则表达式扩展 apache出品
QTP正则表达式,很好的资源,不仅仅只针对于QTP
常用正则表达式-常用正则表达式-常用正则表达式 常用正则表达式-常用正则表达式-常用正则表达式
22期爬虫-04-正则表达式作业-付凯(付凯).py
多种的常用正则表达式数据格式, 读者 可以下载,不要用作其它商业用途
matlab开发-交互式正则表达式工具。在显示所有REGEXP输出的交互式图中开发和优化正则表达式。
JavaScript应用实例-00-正则匹配关闭应用-适用大部分手机.js
适用于正则化算法,利用V曲线来选择正则化参数,与L曲线相比更准确
大数据-算法-有界正则函数导数及系数估计.pdf
JavaScript应用实例-00-正则匹配关闭应用-适用大部分手机(1).js
Linux运维-3.Shell编程-12 shell编程-125扩展正则.avi
首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同! 正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串。vim、grep、awk 、sed 都支持正则表达式,也正是...