我正在嘗試使用以下規則構建 C# 正則運算式:
最后一個字符必須是 *
第一個字符必須是一個數字,后面可以跟任意數量的數字,但必須至少有 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);
我已經嘗試了幾乎所有我能想到的方法,并閱讀了我能找到的所有問題,但都無濟于事。我似乎無法將這兩種方法結合起來。
我希望有人能幫幫忙。
uj5u.com熱心網友回復:
您可以使用
^(?!0[57]\*\z)[0-9] \*\z
詳情:
^- 字串的開始(?!0[57]\*\z)- 不允許05*/07*立即向右直到字串末尾[0-9]- 一個或多個 ASCII 數字\*- 文字*字符\z- 字串的結尾。
請參閱.NET 正則運算式演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/386003.html
