我试图使用C#中的正则表达式来匹配中文字符。
\p{Han}+
但是,C#无法运行,说未知属性Han
dotnet平台正则表达式匹配汉字:
\p{IsCJKUnifiedIdeographs}+
https://en.wikipedia.org/wiki/CJK_Unified_Ideographs
https://learn . Microsoft . com/en-us/dot net/standard/base-types/character-class-in-regular-expressions # supported-named-blocks
在.Net中,您需要在Unicode块属性前添加Is
。
我不知道Han的相应块是什么,或者它是否受支持,但你可以试试:
\p{IsHan}+
有关受支持类型的列表,请参阅MSDN。
这适用于其他字母表。查看希腊语和拉丁语的示例。
理论上我们可以通过正则表达式的Unicode脚本来完成这个要求。
但是,C#不支持Unicode脚本(但是Unicode类别是可以的。)
它会抛出ArgumentException
,如下所示:
[System.ArgumentException:解析\p{Han}-未知属性Han。]
at System.Text.regularExpressions.RegexCharClass.SetFromProperty(字符串大写,布尔反转,字符串模式)
at System.Text.regularExpressions.RegexCharClass.AddCategoryFromName(字符串类别名称,布尔反转,布尔大小写不敏感,字符串模式)
at System.Text.regularExpressions.RegexParser.ScanBackslash()
at System.Text.regularExpressions.RegexParser.ScanRegex()
at System.Text.regularExPressions.RegexParser.ScanExpressions.comexparser.parse(字符串 re, RegexOptions opsops))
在系统.文本.常规表达式.正则表达式.ctor(字符串模式,正则表达式选项,时间跨度匹配超时,布尔使用缓存)
在System.Text.regularExpressions.Regex..咔嚓(字符串模式)
此处引用了详细信息。
问题内容: 我在使用TensorFlow实现的许多可用神经网络代码中发现,正则化项通常是通过在损耗值上手动添加一个附加项来实现的。 我的问题是: 是否有比手动进行更优雅或推荐的正规化方法? 我也发现有一个争论。应该如何使用?根据我的观察,如果我们向其传递正则化器(例如,将计算表示正则化项的张量并将其添加到名为的图集合中,该集合是否会被TensorFlow自动使用(例如,优化器在训练时使用)?期望我
本文向大家介绍Objective-C中利用正则去除非数字字母汉字方法实例,包括了Objective-C中利用正则去除非数字字母汉字方法实例的使用技巧和注意事项,需要的朋友参考一下 前言 今天碰到个需求,PM要求输入框中取出非字母数字汉字的输入. 带着这个疑问开始今天的文章 准备工作 创建个demo 代码如下 在网上找了一圈大多都是使用谓词去判断时候包含,没有几个给出相应的处理字符串. 我找到了3种
如何简化这个正则呢? 或者是否有其他实现方式(正则)?
我有这段文字: regex: 并且只想保留约翰这个名字(没有引号或任何内容)。我设法获得了约翰,但不幸的是我也得到了\n:http://www.regextester.com/?fam=98328 如何删除后者? 谢谢。
本文向大家介绍C#中如何利用正则表达式判断字符,包括了C#中如何利用正则表达式判断字符的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,下面代码给大家介绍下利用正则表达式判断字符的方法,具体代码如下所示: 以上所述是小编给大家介绍的C#中如何利用正则表达式判断字符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!
我有一个将大写/小写字符串转换为大写字符串的正则表达式。问题是,在我的国家,名字中有特殊字符是很正常的,这让我的反应很不舒服 如果我对“JOAO CARLOS NOBREGA”使用此方法,则返回“JOAO CARLOS NOBREGA”。但如果我将此方法用于“JOÃO CARLOS NOBREGA”,则返回“JOÃO CARLOS NOBREGA”。我如何解决这个问题?