/(^[ | ]*)|([ | ]*$)/g^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。
$ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。 '*'、 '+'和 '?' 限定符都称之为贪婪的,也就是说,他们尽可能多地匹配文字。有时这根本就不是所希望发生的情况。有时则正好希望最小匹配。 例如,你可能要搜索一个 HTML 文档来查找一处包含在 H1 标记中的章节标题。在文档中该文字可能具有如下形式:
<H1>Chapter 1 – Introduction to Regular Expressions</H1>下面的表达式匹配从开始的小于号 (<) 到 H1 标记结束处的大于号之间的所有内容。
/<.*>/如果所要匹配的就是开始的 H1 标记,则下述非贪婪地表达式就只匹配 <H1>。
/<.*?>/通过在 '*'、 '+' 或 '?' 限定符后放置 '?',该表达式就从贪婪匹配转为了非贪婪或最小匹配。您可以参考《Jscript 用户指南》
$ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。 '*'、 '+'和 '?' 限定符都称之为贪婪的,也就是说,他们尽可能多地匹配文字。有时这根本就不是所希望发生的情况。有时则正好希望最小匹配。 例如,你可能要搜索一个 HTML 文档来查找一处包含在 H1 标记中的章节标题。在文档中该文字可能具有如下形式:
<H1>Chapter 1 – Introduction to Regular Expressions</H1>下面的表达式匹配从开始的小于号 (<) 到 H1 标记结束处的大于号之间的所有内容。
/<.*>/如果所要匹配的就是开始的 H1 标记,则下述非贪婪地表达式就只匹配 <H1>。
/<.*?>/通过在 '*'、 '+' 或 '?' 限定符后放置 '?',该表达式就从贪婪匹配转为了非贪婪或最小匹配。您可以参考《Jscript 用户指南》
《sMatch=/\s*(.*?)\s*/g; //匹配“ ”、“ ”、“ ”、“”等多个,第一个子匹配$1为最前的“ ”。》
为什么它不匹配123 456等字符呢?
还有一个问题,对于这个例子中,贪婪和惰性是()的子匹配的范围是多大呢?
惰性量词先看字符串中的第一个字母是不是一个匹配,如果不匹配则继续读入下一个字符进行匹配,如果没有则一直匹配下去,与贪婪量词刚好相反,惰性量词用上面的简单量词跟一个?表示。var sSting=" 123 456 123,456 "
sMatch=/^\s*(.*?)\s*&/g;
alert(sSting.replace(sMatch,"$1"))
sMatch1=/\s*(.*?)\s*/g;
alert(sSting.replace(sMatch1,"$1"))自己仔细想想