簡體   English   中英

如何在C#正則表達式中使用“或”,“和”?

[英]How can I use “or”, “and” in C# Regex?

我有一個與字符串匹配的模式:字符串模式= @“ asc”我正在檢查SQL SELECT查詢的正確語法,語義,...我需要說的是,在查詢字符串的末尾我可以有“ asc” ”或“ desc”。 如何用C#編寫?

看起來像

new Regex("asc$|desc$").IsMatch(yourQuery)

假設您要強制asc / desc是查詢的結尾。 你也可以做(?:asc|desc)$這是一個小吸塵器單$ ,但不可讀性。

您需要“ alternation”運算符,即管道。

例如,我相信這可以表示為:

asc|desc

如果要使其成為非捕獲組,則可以按常規方式進行。 我不是正則表達式專家,但這是第一件事。

編輯:MSDN有一個關於正則表達式語言元素的頁面,可能會對您有所幫助。

只是為了增加其他答案,您可能還想對正則表達式應用忽略大小寫選項。

string tempString = "SELECT * FROM MyTable ORDER BY column DESC";

Regex r = new Regex("asc$|desc$", RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);

bool answer = r.IsMatch(tempString);

我認為,.Net中的正則表達式如下所示:

asc|desc\z

..它將匹配行尾和字符串尾。 如果只想字符串結尾,請嘗試:

asc|desc$

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM