大多数中药的正则表达式语言运算符都是非转义的单个字符。转义符 / (单个反斜杠)通知正则表达式分析器反斜杠后面的字符不是运算符。
例如,分析其将星号(*)视为重复限定符,而将后跟星号的反斜杠(/*)视为Unicode字符 002A。
使用一般表达式要习惯的一点是,察看像这样怪异的字符序列,但这个序列的工作非常逻辑化的。专业序列 /S表示任何不适空白的字符。* 称为数量词,其含义是前面的字符可以重复任意次,包括0次。序列 /S*表示任何不适空白的字符。
特定字符或转义序列 | 含义 | 样例 | 匹配的样例 |
^ | 输入文本的开头 | ^B | B但只能是文本中的第一个字符 |
$ | 输入文本的结尾 | X$ | X但只能是文本中的最后一个字符 |
. | 除了换行字符(/n)以外的所有单个字符 | i.ation | isation 、ization |
* | 可以重复0次或多次的前导字符 | ra*t | rat、raat等 |
+ | 可以重复1次或多次的前导字符 | ra+1 | rt、rat、raat等 |
? | 可以重复0次或1次的前导字符 | ra?1 | 只有rt和rat匹配 |
/s | 任何空白字符 | /sa | [space]a, /ta,/na(/t和/n与C#的/t和/n含义相同) |
/S | 任何不是空白的字符 | /SF | aF,rFcF,但不能是 /tF |
/b | 字边界 | ion/b | 以ion结尾的任何字 |
/B | 不是字边界 | /BX/B | 自中间的任何X |
如果要搜索一个元字符,也可以通过带有反斜杠的转义字符来表示。例如,表示除了换行字符以外的热闹和字符。而 /. 表示一个点。
可以把可替换的字符放在方括号[ ]中,请求匹配包含这些字符。例如,[1|c],表示字符可以是1或者是c。如果要搜索map或者man,可以用序列"ma[n|p] "(仅指引号内字符)。在方括号中,也可以指定一个范围,例如"[a-z]"表示所有的小写字符(使用连字号(-)允许指定连续字符范围),"[B-F]"表示B到F之间的所有大写字母。
如果要搜苏哦一个整数(该序列只包含0-9的字符),就可以编写"[0-9]+",(注意使用(+)表示至少要有这样一个数字。)
转自《电脑编程技巧与维护》