![](/img/trans.png)
[英]How to convert String string dataReturned = "62 07 00 00 04 05 00 01 A0" to List<byte> in C#
[英]C# regex matching on one or many digit(s) followed by a star but not when the full string is 05* and 07*
我正在嘗試使用以下規則構建 C# 正則表達式:
最后一個字符必須是 *
第一個 char 必須是一個數字,並且可以后跟任意數量的數字,但必須至少有 1 個數字才能開始字符串。
完整的字符串不能是 05* 或 07*
所以這些應該匹配:
111*
12*
1*
不應僅在 05* 07* 上匹配
這適用於匹配情況:
Regex oneOrManyDigitWithTrailingStar = new(@"\A\d+[*]$", RegexOptions.Compiled);
這可以排除 05* 或 07*:
Regex IsNotZeroFiveStarOrZeroSevenStarOnly = new(@"(?s)(?<!\A05\*|\A07\*)$", RegexOptions.Compiled);
我已經嘗試了幾乎所有我能想到的東西,並閱讀了所有我能找到的問題,但無濟於事。 我似乎無法將這兩種方法結合起來。
我希望有人能幫幫忙。
您可以使用
^(?!0[57]\*\z)[0-9]+\*\z
詳情:
^
- 字符串的開頭(?!0[57]\*\z)
- 不允許05*
/ 07*
立即向右並直到字符串的末尾[0-9]+
- 一個或多個 ASCII 數字\*
- 文字*
字符\z
- 字符串結束。請參閱.NET 正則表達式演示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.