gpt4 book ai didi

c# - C#正则表达式中的"Enter"问题

转载 作者:太空宇宙 更新时间:2023-11-03 15:25:22 25 4
gpt4 key购买 nike

那里我对 C# 中的正则表达式有疑问,代码:

// For 1D barcode scanner
Regex regex = new Regex("^(.*)\x0D$", RegexOptions.Compiled);
var match = regex.Match("1234\r");

match.Success 为真。然后我将代码更改如下:

 // For 2D barcode scanner
Regex regex = new Regex("^(.*)$", RegexOptions.Compiled);
var match = regex.Match("1234\r");

match.Success 仍然为真(预期为假)。我不知道错误在哪里。

实际上字符串“1234\r”是一维条码扫描器的结果,一维条码扫描器的后缀在我的软件中是“\x0D”,而二维条码扫描器的后缀在我的软件中是空的。认为二维条码的正则表达式一定有问题。

最佳答案

在默认设置下,$ 被解释为输入字符串的结尾,而不是一行的结尾。这将允许您的 .* 匹配任何可能添加的尾随空格。

如果你想排除这个,你可以用一个字符类来实现,比如 ^([^\r]*)$

关于c# - C#正则表达式中的"Enter"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35544533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com