当前位置: 首页 > 面试题库 >

控制字符的正则表达式是什么?

蓬弘
2023-03-14
问题内容

我正在尝试匹配\ ^ c形式的控制字符,其中c是控制字符的任何有效字符。我有这个正则表达式,但目前无法使用:\\[^][@-z]

我认为问题在于,插入符号(^)是正则表达式解析引擎的一部分。


问题答案:

^X使用pattern
匹配形式的ASCII文本字符串\^.,仅此而已。将形式的ASCII文本字符串\^X与模式匹配\\\^.。你不妨约束点缀到[?@_\[\]^\\],所以\\\^[A-Z?@_\[\]^\\][?\x40-\x5F]对于方括号字符类而言,它更容易阅读,因此\\\^[?\x40-\x5F]对于原义BACKSLASH,其后是原义CIRCUMFLEX,以及随后变成有效控制字符之一的事物而言,它更容易阅读。

请注意,这是打印出图案或从文件中读取的结果。这就是您需要传递给regex编译器的内容。如果您将其作为字符串文字使用,那么您当然必须将每个反斜杠加倍。`\\\\\\^[?\\x40-\\x5F]"是的,看起来很疯狂,但这是因为Java不像Groovy和Scala(或者Perl和Ruby)那样直接支持正则表达式。没有额外的bbaacckksslllllaasshheesssssess,正则表达式的工作总是很容易。:)

如果您有真正的控制字符,而不是它们的间接表示形式,则可以\pC对所有具有属性GC = Other的文字代码点使用,或\p{Cc}仅用于GC =
Control。



 类似资料:
  • 在Ruby中,我编写了一个简单的正则表达式来查找第一个: 每当我运行这个程序时,出于我的目的,超过该点的所有操作都可以正常工作,但是有一个轻微的错误,它的内容是

  • 我有一个包含数千行的文本文件。这里有一个例子 我试图提取'nt60'、'nt50'末尾的字符串。 问题是会包含行尾字符() 我想使用正则表达式搜索来匹配从 (') 开始的字符串,但我不知道我应该用什么来匹配 。 有人能帮忙吗?

  • 主要内容:实例下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为: 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或

  • 问题内容: 以下代码是众所周知的将重音符转换为纯文本的代码: 我用这种方法代替了“手工制作”方法,但是我需要了解replaceAll的“ regex”部分 1)什么是“ InCombiningDiacriticalMarks”? 2)它的文档在哪里?(和类似的?) 谢谢。 问题答案: 是Unicode块属性。在JDK7中,您将可以使用两部分表示法来编写它,这对于读者来说可能更清楚。它在UAX#44

  • 我有一根下面这样的弦 现在我希望我的程序验证我的输入是否与字符串“phone”的模式相同 我做了以下工作 没奏效。我也尝试了其他的组合。什么都不起作用。 问题:1。我怎样才能做到这一点,而不使用‘模式’像上面?2.如何用图案做到这一点。我尝试了如下模式 Pattern Pattern=Pattern.compile(“(\d+)”);Matcher match=pattern.Matcher(电话

  • 我不熟悉Javascript和正则表达式,所以我一直在研究如何使路由匹配所有以