我有以下問題:如何接受一個字「345-0」,並在同一行拒絕「555-55.00」
我有四種文本:
1)「345- 0屬於合同 「
2) 」345-0屬於合同555-55.00「
3) 」未找到「
4)」 345-0屬於合同帳戶自22/10/2014起「
個結果: 1)應該找到文本
2)應該忽略文本
3)應該忽略文本
4)如果找到文本
如何安裝用於查找一個圖案345-0(999-9),同一段中沒有格式555-55.00(999-99.99)?
我有以下問題:如何接受一個字「345-0」,並在同一行拒絕「555-55.00」
我有四種文本:
1)「345- 0屬於合同 「
2) 」345-0屬於合同555-55.00「
3) 」未找到「
4)」 345-0屬於合同帳戶自22/10/2014起「
個結果: 1)應該找到文本
2)應該忽略文本
3)應該忽略文本
4)如果找到文本
如何安裝用於查找一個圖案345-0(999-9),同一段中沒有格式555-55.00(999-99.99)?
您可能想要使用正則表達式。
可能的圖案可以是@"^[0-9-]+[^0-9-]*$"
上述將發現,接着用非數字字符數字和連字符的任意組合開始的任何字符串。
Regex.IsMatch("345-0 belongs to a contract", @"^[0-9-]+[^0-9-]*$"); // True
Regex.IsMatch("345-0 belongs to the contract 555-55.00", @"^[0-9-]+[^0-9-]*$"); // False
Regex.IsMatch("The account not found", @"^[0-9-]+[^0-9-]*$"); // False
該模式建議不起作用: 我需要在段落中不應該存在999-99.99的睫毛膏,但任何其他字符,包括數字,字母,破折號等,例如:「345-0自22/10/2014「失敗......應該查閱這段文字。 –
也許你應該更新你的問題,然後包括你想要的更多細節。 – Dimitri
這可能會實現(幾乎與去年相同的問題)
# @"(?s)^(?=(?:(?!\d+-\d{2}\.\d{3}).)+$).*\d+-\d.*$"
(?s) # Dot-All
^ # BOS
(?= # Not this form anywhere in the string
(?:
(?! \d+ - \d{2} \. \d{3})
.
)+
$
)
.* \d+ - \d .* # Form needed
$ # EOS
如果你正在尋找一個特定的範圍,即:345-0通過999-9,您應該提及。 – sln