构建我自己的角色类

构建我自己的角色类

我想在脚本中构造自己的角色类,然后修改(和使用)它,例如:

  1. [:myclass:]包含a, *,\n (作为换行符)[WHITESPACE]
  2. 我想将所有字符添加到[:myclass:]from [:alnum:]
  3. 我想从中删除p角色和整个班级[:upper:][:myclass:]

首选解决方案不依赖于脚本语言。如果您愿意,请使用bash.


额外问题:如何在系统范围内存储这个?每当我启动时,[:myclass:]都必须可用。

答案1

我担心字符类列表在 C 库中是硬编码的(例如在 GNU libc 中,在函数中build_charclassposix/regcomp.c)。扩展它的唯一方法是重新编译 C 库。

您可以自定义区域设置定义中每个现有类的内容。

在大多数情况下,将正则表达式构建为字符串应该足够了:

myclass='a*[:alnum:][:space:]'
regexp="[$myclass]"

您无法通过这种方式从类别中减去字符。如果添加]or 或-,请注意\尊重语言正则表达式中字符类的语法。

相关内容