1。   /^http:\/\/.+$/
      这个+号有什么用?
+表示一个或多个,.表示出了换行外的所有单个字符,连起来就是一个或多个出了换行外的所有单个字符
2。   /[ -~]/是不代表全体的字母啊包括数字?
表示除了中文以外的东西。
3。   贪婪的,和非贪婪的表达式是怎么用的?
eg:"ppp".match(/p+/)返回ppp,"ppp".match(/p+?/)返回p
4。   (.*?)和(*.+)
      经常用到,我解释不通啊!?他的用途是字符串,但是什么样的字符串啊?
(.*?)表示贪婪匹配0个或多个出了换行外的所有单个字符,可是(*.+)这个没见过……
6。   为什么说[^x]中不能是x字符串?
[^x]表示除了中括号中出现的东西以外的所有。

解决方案 »

  1.   

    7。   <input type=text class=colorBorderb name=num size=4 ID="Text1" onkeyup="value=value.replace(/[^0-9.+-]+/g,'')">
    里面的‘+’号有什么用啊?好像可有可无的。
      

  2.   

    ps:
    5。   /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
          中的‘?’是有什么用?还有([^/:]+)总的‘+’为什么不能换成*这个根本就是错的
      

  3.   

    7。   <input type=text class=colorBorderb name=num size=4 ID="Text1" onkeyup="value=value.replace(/[^0-9.+-]+/g,'')">
    里面的‘+’号有什么用啊?好像可有可无的。人家要过滤+号就是有用。这要看写代码的人的需要
      

  4.   

    #6。[^x]不是中的^的解释:<quote>匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。</quote>那么也就是说“^”是字符串开始的位置,那么象"x jss jkdxjdk xdd "中的x也就可以匹配了呀。#4。(.*?)表示贪婪匹配0个或多个出了换行外的所有单个字符
    .是匹配除 "\n" 之外的任何单个字符,*匹配前面的子表达式零次或多次
    2个加在一起为什么就成了,能不能举个列子匹配什么东东。#2。  /[ -~]/等于?/[\w]/
      

  5.   

    #5。<quote>
    在replace 方法中使用 $1 来引用所保存的第一个子匹配。如果有多个子匹配,则可以用 $2, $3 等继续引用。后向引用的另一个用途是将一个通用资源指示符 (URI) 分解为组件部分。假定希望将下述的URI 分解为协议 (ftp, http, etc),域名地址以及页面/路径:http://msdn.microsoft.com:80/scripting/default.htm
    下面的正则表达式可以提供这个功能。对 JScript,为:/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
    </quote>
    引用“JScript  语言参考 ”不应该有错吧?
       #7。<input type=text class=colorBorderb name=num size=4 ID="Text1" onkeyup="value=value.replace(/[^0-9.+-]+/g,'')">
    我试试了效果加不加‘+’前后的效果是一样的,就不知道有什么用了。
      

  6.   

    #6。[^x]不是中的^的解释:<quote>匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。</quote>那么也就是说“^”是字符串开始的位置,那么象"x jss jkdxjdk xdd "中的x也就可以匹配了呀。如果要匹配开始,是/^x/不是/[^x]/#4。(.*?)表示贪婪匹配0个或多个出了换行外的所有单个字符
    .是匹配除 "\n" 之外的任何单个字符,*匹配前面的子表达式零次或多次
    2个加在一起为什么就成了,能不能举个列子匹配什么东东。
    eg:
    <script language=JavaScript>
    alert("adf457^&*_+\\[]".match(/.*/))
    </script>
    #2。  /[ -~]/!=/[\w]/
    自己试试看就知道了
      

  7.   

    ##1。<script language=JavaScript>
    alert("adf457^&*_+\\[]".match(/.*?/))
    </script>
    我加了个?就什么也没有了不是说贪婪匹配0个或多个出了换行外的所有单个字符
    那么应该全都有啊,##2。/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
    这里面的‘?’还是没有解释出来啊?##3。<input type=text class=colorBorderb name=num size=4 ID="Text1" onkeyup="value=value.replace(/[^0-9.+-]+/g,'')">
    里面的‘+’号有什么用啊?我有做了一遍,老样子啊。这个+在这个函数里不知道有什么用。##4。至于([^\/:]+)我觉得你没有错,他也没有错。不知道为什么,实践做出来的结果。(实践是检验真理的唯一标准)PS:里面的+是干什么用的啊?分数我一定给你。
      

  8.   

    ##1。<script language=JavaScript>
    alert("adf457^&*_+\\[]".match(/.*?/))
    </script>
    我加了个?就什么也没有了不是说贪婪匹配0个或多个出了换行外的所有单个字符
    那么应该全都有啊,
    加了?表示非贪婪,也就是尽可能少,既然是0个或多个,当然匹配0个了!##2。/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
    这里面的‘?’还是没有解释出来啊?
    晕!(:\d*)?表示0个或一个(:\d*)##3。<input type=text class=colorBorderb name=num size=4 ID="Text1" onkeyup="value=value.replace(/[^0-9.+-]+/g,'')">
    里面的‘+’号有什么用啊?我有做了一遍,老样子啊。这个+在这个函数里不知道有什么用。这个只能问当初写代码的人了,只能说是因为它需要。对了,你说的是哪个+?中括号里的还是外的?##4。至于([^\/:]+)我觉得你没有错,他也没有错。不知道为什么,实践做出来的结果。(实践是检验真理的唯一标准)PS:里面的+是干什么用的啊?表示一个或多个
      

  9.   

    to  xinyunyishui(心云意水)  向你学习!  收藏..
      

  10.   

    ##1。但他匹配了呀。所以照我的思路他应该要显示呀。
    eg.<div><b>xxx</b></div>中,如果用<.*>匹配,结果就是<div><b>xxx</b></div>,因为他会尽可能多的匹配字符。如果用<.*?>结果只是<div>
    那么照道理说应该是<>了。##3。是外面的那个+号。##4。至于([^\/:]+)我觉得你没有错,他也没有错。不知道为什么,实践做出来的结果。(实践是检验真理的唯一标准)PS:里面的+是干什么用的啊?表示一个或多个
    能不能给我举个列子呢?谢谢了。
    不好意思,这种东西太抽象了,很难理解。
      

  11.   

    1。   /^http:\/\/.+$/
          这个+号有什么用?
    一个以上字符2。   /[ -~]/是不代表全体的字母啊包括数字?
    从" "到"~"的字符,即全部可打印字符3。   贪婪的,和非贪婪的表达式是怎么用的?
    4。   (.*?)和(*.+)
          经常用到,我解释不通啊!?他的用途是字符串,但是什么样的字符串啊?
    当?出现在?、*、+之后时表示非贪婪匹配,默认是贪婪匹配(即尽可能多的匹配)5。   /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
          中的‘?’是有什么用?还有([^/:]+)总的‘+’为什么不能换成*
          最后的([^# ]*)总的‘*’可不可以换成+
    ?表示可有可无。
    [^/:]+ 根据需要确定,这里表示至少有一个非"/"或":"的字符
    [^# ]* 这里表示后续字符可有可无,但不能是"#"或" "6。   为什么说[^x]中不能是x字符串?
    这是规则约定,表示除"x"以外7。   <input type=text class=colorBorderb name=num size=4 ID="Text1" onkeyup="value=value.replace(/[^0-9.+-]+/g,'')">
    里面的‘+’号有什么用啊?好像可有可无的。
    这个式子值得商榷
    事实上他只把非数值表达式的部分删去但诸如
    ---23.0+++++0+.-5
    视为合法,而0.23e4这样的科学表示法却没有反映正确
      

  12.   

    ##1。但他匹配了呀。所以照我的思路他应该要显示呀。
    eg.<div><b>xxx</b></div>中,如果用<.*>匹配,结果就是<div><b>xxx</b></div>,因为他会尽可能多的匹配字符。如果用<.*?>结果只是<div>
    那么照道理说应该是<>了。
    他的确匹配了,但匹配了0个。所以显示出来看不到东西。你的例子中,显示<div>是为了满足匹配要求<...>满足最小<.*?>的匹配模式阿,否则,要匹配第一个<到最后一个>出的所有内容。##3。是外面的那个+号
    实验证明,那个+好像的确是多余的##4。至于([^\/:]+)我觉得你没有错,他也没有错。不知道为什么,实践做出来的结果。(实践是检验真理的唯一标准)PS:里面的+是干什么用的啊?
    表示一个或多个
    能不能给我举个列子呢?谢谢了。
    不好意思,这种东西太抽象了,很难理解。
    <script language=JavaScript>
    alert("asdf/asdf:asdf".match(/[^\/:]+/ig))
    </script>