c# - 在 Regex C# 中允许撇号、点、符号、数字和字符

标签 c# ios regex xamarin.forms

<分区>


关闭 5 年前

我正在使用以下正则表达式:

public const string SpecialCharRegex = @"^[A-Za-z0-9\s\(\)\.\&\-',`]+$";

我正在使用它来验证 iPhone 上我的 iOS 应用程序中的字段。

我喜欢匹配这个类中的所有字符。但是,我对打印智能/ curl 撇号有疑问。

例子:

My name is AB'c 

没问题,但如果在 iPhone 上输入它会抛出错误。

事实证明,iOS 键盘并没有输入撇号‘(字符 39),而是一个 Unicode ‘智能’左引号(字符 8216)。如何调整模式以匹配弯引号?

最佳答案

有很多quotation mark那里的字符。

我想你也想捕获那些:

U+2018: LEFT SINGLE QUOTATION MARK
U+2019: RIGHT SINGLE QUOTATION MARK
U+201C: LEFT DOUBLE QUOTATION MARK
U+201D: RIGHT DOUBLE QUOTATION MARK

像这样添加它们,这样您的 character class : \uFFFF\xFF(参见 here)

string SpecialCharRegex = @"^[A-Za-z0-9\s\(\)\.\&\-',`\u2018\u2019\u201C\u201D]+$";

关于c# - 在 Regex C# 中允许撇号、点、符号、数字和字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50647651/

上一篇:ios - iOS坐标系在设备之间是否相等?

下一篇:ios - 1x、2x 和 3x 的可用设备是什么

相关文章:

c# - 西里尔字母的正则表达式?

c# - 序列化/反序列化两个列表后,List.Remove 不会删除任何项目

c# - 如何在 string[][] 中以不同的顺序删除相同的值?

c# - 单声道互操作 : Loading 32bit shared library does not work on my 64bit system

ios - 如何堆叠 UICollectionView 部分

c# - 销售价格的正则表达式

java - 为什么我的 while(matcher.find()) 进入无限循环?我将它与 Streams 一起使用

c# - LINQ 使所有方法异步

ios - CouchDB Kitura 执行 View

ios - 表格单元格中显示长文本标签,但如何在 Swift 中的第二行添加边距?