182得票2回答
正则表达式 \p{L} 和 \p{N}

我对正则表达式还很陌生,我收到了以下正则表达式:(\p{L}|\p{N}|_|-|\.)* 我知道 * 代表任意数量的字符,| 代表“或”,\ 用于转义。 但我不知道 \p{L} 和 \p{N} 代表什么。我已经在谷歌上搜索了,但没有结果…… 有人可以帮帮我吗?

75得票5回答
egrep中的数字匹配模式不能正常工作?

为什么我不能匹配这个字符串"1234567-1234567890" 使用给定的正则表达式\d{7}-\d{10} 使用Shell中的egrep,可以这样做:egrep \d{7}-\d{10} file 抱歉,我只能处理英文语言的任务。

48得票1回答
如何从一个类中排除一些字符?

我想匹配一个“word”字符 (\w), 但排除“_”,或匹配一个空格字符 (\s), 但排除“\t”。我该如何做到这一点呢?

30得票5回答
从字符类中排除字符

是否有一种简单的方式可以匹配一个字符类中除了特定一组字符以外的所有字符?例如,如果在一种语言中我可以使用\w来匹配所有Unicode单词字符的集合,那么有没有一种方法可以从该匹配中排除下划线“_”这个字符? 我能想到的唯一主意是在每个字符周围使用负向前/后查看,但当我实际上只想将一个字符与正...

29得票2回答
替换不在范围内的所有字符(Java字符串)

如何替换字符串中所有不符合特定条件的字符。我在使用 NOT 操作符时遇到了问题。 具体来说,我想要删除所有非数字字符,目前尝试过以下代码:String number = "703-463-9281"; String number2 = number.replaceAll("[0-9]!", "...

24得票2回答
为什么字符类比交替更快?

使用字符类似乎比在示例中使用交替更快: [abc] vs (a|b|c) 我听说推荐使用它,并且通过使用Time::HiRes进行简单测试来验证它(大约慢10倍)。 此外,在捕获括号可能有所不同的情况下使用(?:a|b|c)不会改变结果。 但我无法理解为什么。 我认为这是由于回溯,但从我看到的...

19得票1回答
字符类中的“反向引用”(backreferences within character class)的常规方法是什么?

在Perl正则表达式中,像\1、\2等表达式通常被解释为对之前捕获组的“反向引用”,但在字符类中出现\1、\2等时不是这样。在后一种情况下,\被视为转义字符(因此\1只是1等)。因此,如果(例如)想要匹配一个字符串(长度大于1),它的第一个字符与最后一个字符匹配,但没有出现在字符串的任何其他位...

17得票3回答
使用Java正则表达式匹配Unicode字母

在StackOverflow上有许多问题和答案假定使用[a-zA-Z]可以匹配正则表达式中的“字母”。然而,使用Unicode后,大多数人会将许多其他字符视为“字母”(所有希腊字母、西里尔字母等等)。Unicode定义了许多块,每个块都可能有“字母”。 Java定义定义Posix类用于诸如a...

14得票1回答
Python:如何在正则表达式中使用POSIX字符类?

我如何在Python中搜索一个给定字符串中的10个isprint字符序列? 使用GNU grep,我可以简单地执行grep [[:print:]]{10}。

13得票3回答
如何匹配Unicode元音字母?

在Perl中,哪个字符类或Unicode属性可以匹配任何Unicode元音字母? 错误答案:[aeiouAEIOU]。(这里的布道,清单中的第24项) perluniprops 仅提到韩文和印度脚本的元音字母。 让我们先不考虑元音字母是什么。是的,在某些语境中,i可能不是元音字母。因此,...