马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
这下面的只支持英文标点符号,请问中文的要怎么写。如果自己定义一个[set]
语法:字符类字符类用于表示一个字符集合。 - .(一个点) : 可表示任何字符。
- %a : 表示任何字母。
- %c : 表示任何控制字符。
- %d : 表示任何数字。
- %g : 表示任何除空白符外的可打印字符。
- %l : 表示所有小写字母。
- %p : 表示所有标点符号。
- %s : 表示所有空白字符。
- %u : 表示所有大写字母。
- %w : 表示所有字母及数字。
- %x : 表示所有 16 进制数字符号。
- %z : 表示 \0 的字符。
- %% : 表示字符 %。 这是对魔法字符转义的标准方法。 所有非字母或数字的字符 (包括所有标点,也包括非魔法字符) 都可以用前置一个 % 放在模式串中表示自身。
- [set] : 表示 set 中所有字符的联合。 可以以 - 连接,升序书写范围两端的字符来表示一个范围的字符集。 其它出现在 set 中的字符则代表它们自己。 例如,[%w\_] (或 [\_%w]) 表示所有的字母数字加下划线), [0-7] 表示 8 进制数字, [0-7%l%-] 表示 8 进制数字加小写字母与 - 字符。
- [^set] : 表示 set 的补集,也就是不包含 set , 其中 set 如上面的解释。
所有单个字母表示的类别(%a,%c,等), 若将其字母改为大写,均表示对应的补集。 例如,%S 表示所有非空格的字符。 语法:模式条目- 单个字符类匹配该类别中任意单个字符
- 单个字符类跟一个 *, 将匹配零或多个该类的字符。 这个条目总是匹配尽可能长的串
- 单个字符类跟一个 +, 将匹配一或更多个该类的字符。 这个条目总是匹配尽可能长的串;
- 单个字符类跟一个 -, 将匹配零或更多个该类的字符。 和 * 不同, 这个条目总是匹配尽可能短的串;
- 单个字符类跟一个 ?, 将匹配零或一个该类的字符。 只要有可能,它会匹配一个;
- %n, 这里的 n 可以从 1 到 9; 这个条目匹配一个等于 n 号捕获物(后面有描述)的子串。
- %bxy, 这里的 x 和 y 是两个明确的字符; 这个条目匹配以 x 开始 y 结束, 且其中 x 和 y 保持 平衡 的字符串。 意思是,如果从左到右读这个字符串,对每次读到一个 x 就 +1 ,读到一个 y 就 -1, 最终结束处的那个 y 是第一个记数到 0 的 y。 举个例子,条目 %b() 可以匹配到括号平衡的表达式。
- %f[set], 指 边境模式; 这个条目会匹配到一个位于 set 内某个字符之前的一个空串, 且这个位置的前一个字符不属于 set 。 集合 set 的含义如前面所述。 匹配出的那个空串之开始和结束点的计算就看成该处有个字符 ‘\0’ 一样。
|