c# - 如何编写组合字符的正则表达式?

标签 c# asp.net regex unicode

我正在一个应用程序中工作,其中我需要一个正则表达式来检测组合字符。我制作了以下正则表达式

string regex = @"^([~.][a-z])";

我必须检测与字符分开的组合字符,因为它们不存在于字体中,所以我必须检查两个字符,一个是符号,另一个是任何字符,即〜a。 问题是我无法粘贴符号的确切形状。我正在使用这个链接 http://en.wikipedia.org/wiki/Combining_character 当我将它们粘贴到正则表达式中时,形状发生了变化。

如何制作一个正则表达式来检测正则表达式中提供的特定组合字符。

最佳答案

使用 Unicode 属性:

\p{L}\p{M}*+

\p{L} 来自任何语言的任何类型的字母(但不是组合字母!)

\p{M} 用于与另一个字符组合的字符(例如重音符号、变音符号、封闭框等)。

参见regular-expressions.info/unicode for more details (chapter Unicode Categories)

关于c# - 如何编写组合字符的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22932073/

相关文章:

c# - 即使没有参数,也使用 CIL OpCode (Ldarg_0)

jquery - 如何使用 jquery 发布自定义类?

asp.net - 在 ASP.NET 中本地化图像

c# - 如何获取页面标题?

c# - 获取序列化异常 : '<>f__AnonymousType2` is not marked as serializable

asp.net - SQL如何在一列中使用ORDER BY语句

regex - 使用 Perl Regex Multiline 重新格式化文件

python - 使用正则表达式子在字符串中添加空格

r - 使用 grep 查找 "and"而不是 "or"

c# - 将数据库添加到 visual studio 中的项目