[英]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.