yyyyyyyyyyyyyyyyyyyy

博客园 首页 新随笔 联系 订阅 管理

减号是元字符吗?在正则表达式中需要转义吗?在[]字符集中可能需要如[a-z]表示小写字母[a\-z]表示a、-、z其中之一

 

正则表达式有以下特殊字符。需要转义 

$  匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。

( )  标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \ ( 和 \ )。

*  匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。

+  匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。

.  匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \.。

[ ]  标记一个中括号表达式的开始。要匹配 [,请使用 \[。

?  匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。

\  将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n' 匹配字符 ‘n'。'\n' 匹配换行符。序列 ‘\\' 匹配 “\”,而 ‘\(' 则匹配 “(”。

^  匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。

{ }  标记限定符表达式的开始。要匹配 {,请使用 \{。

|  指明两项之间的一个选择。要匹配 |,请使用 \|。

- 有时候也是需要转义的,如[\\+\\-\\*/],这样[\\+-\\*/]是不行的。

 

代码如下:

* . ? + $ ^ [ ] ( ) { } | \ /

构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与操作符将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。

 


  1. $ ---> \$  
  2. ( ---> \(  
  3. ) ---> \)  
  4. * ---> \*  
  5. + ---> \+  
  6. . ---> \.  
  7. [ ---> \[  
  8. ] ---> \]  
  9. ? ---> \?  
  10. \ ---> \\  
  11. / ---> \/  
  12. ^ ---> \^  
  13. { ---> \{  
  14. } ---> \}  

一、 
特殊字符 注释 $ 匹配输入字符串结尾的位置。 
若要匹配 $ 字符本身,请使用 \$。 
二、 
( ) 标记子表达式的开始和结束。可以捕获子表达式以供以后使用。 
若要匹配这两个字符,请使用 \( 和 \)。 
三、 
* 零次或多次匹配前面的字符或子表达式。 
若要匹配 * 字符,请使用 \*。 
四、 
+ 一次或多次匹配前面的字符或子表达式。 
若要匹配 + 字符,请使用 \+。 
五、 
. 匹配除换行符 \n 之外的任何单个字符。 
若要匹配 .,请使用 \。 
六、 
[ ] 标记中括号表达式的开始。 
若要匹配这些字符,请使用 \[ 和 \]。 
七、 
? 零次或一次匹配前面的字符或子表达式,或指示“非贪心”限定符。 
若要匹配 ? 字符,请使用 \?。 
八、 
\ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。 
例如,字符 n 匹配字符 n。 
\n 匹配换行符。序列 \\ 匹配 \,序列 \( 匹配 (。 
九、 
/ 表示文本正则表达式的开始或结束。 
若要匹配 / 字符,请使用 \/。 
十、 
^ 匹配输入字符串开始处的位置,但在中括号表达式中使用的情况除外,在那种情况下它对字符集求反。 
若要匹配 ^ 字符本身,请使用 \^。 
十一、 
{ } 标记限定符表达式的开始。 
若要匹配这些字符,请使用 \{ 和 \}。 
十二、 
| 指出在两个项之间进行选择。 
若要匹配 | ,请使用 \| 

\d    数字:[0-9] 
\D    非数字: [^0-9] 
\s    空白字符:[ \t\n\x0B\f\r] 
\S    非空白字符:[^\s] 
\w    单词字符:[a-zA-Z_0-9] 
\W    非单词字符:[^\w] 
posted on 2017-06-28 14:17  xxxxxxxx1x2xxxxxxx  阅读(1332)  评论(0)    收藏  举报