.net 用于在windows窗体中允许点的正则表达式代码
我有这样一个代码:.net 用于在windows窗体中允许点的正则表达式代码,.net,regex,vb.net,.net,Regex,Vb.net,我有这样一个代码: Dim builder As New System.Text.StringBuilder table.Rows.Cast(Of DataRow).ToList() _ .ForEach(Sub(row) builder.AppendLine(String.Join("|", _
Dim builder As New System.Text.StringBuilder
table.Rows.Cast(Of DataRow).ToList() _
.ForEach(Sub(row)
builder.AppendLine(String.Join("|", _
row.ItemArray.Select(Function(value) String.Format("{0}", Regex.Replace(value, "[^A-Za-z0-9\-\/\ ]", "")).Trim())))
End Sub)
但是这个正则表达式删除了我的点(.)值,我不想删除我的点值。因为我得到了一些价格(3.75,4.25),所以我如何编写代码允许点(),因为您只想在特定上下文中保留点,您需要首先将点添加到求反字符类中,然后添加一个与点匹配的替代项(如果该点未包含数字)。如果用数字括起来,则应将其移除/更换 以下是正则表达式:
[^A-Za-z0-9/ .-]|(?<!\d)\.(?!\d)
[^A-Za-z0-9/-]|(?
看
请注意,我将连字符移到了character类的末尾,这是最佳做法(这样,您就不必转义它),无需转义空格和正斜杠。由于您只想在特定上下文中保留点,因此需要首先将点添加到求反字符类,然后添加与点匹配的替代项(如果点未包含数字)。如果点包含数字,则应删除/替换它
以下是正则表达式:
[^A-Za-z0-9/ .-]|(?<!\d)\.(?!\d)
[^A-Za-z0-9/-]|(?
看
请注意,我将连字符移到了character类的末尾,这是最佳做法(这样,您就不必转义它),无需转义空格和正斜杠。在]
前面添加
字符。我想你可以使用。它对你有用吗?@npinti该代码对我很有用。。非常感谢在
前面添加
字符。我想你可以使用。它对你有用吗?@npinti该代码对我有用。
谢谢对我来说很好…非常感谢