簡體   English   中英

正則表達式:模式匹配多個模式

[英]Regex : Pattern match multiple patterns

我對正則表達式模式有點陌生,需要一點幫助。

我有一個模式,我已經能夠通過搜索此站點並使用 regexr.com 進行驗證來匹配以查找非 ASCII 字符。

然后我將其放入 LINQPad 並確認這是有效的。

string s = "søme string";
var pattern = @"[^\u0000-\u007F]+";
var matched = Regex.Match(s, pattern);
s = Regex.Replace(s, pattern, string.Empty);

這有效,我現在遇到的問題是我需要同時查找管道 (|) 和勾號 (`)。

如果我使用這個([^\-\]+) | ([/\\|+/]) ([^\-\]+) | ([/\\|+/])它只是找到管道而不匹配任何非 ASCII。

我也試過(^\-\)+ | (|) |( (^\-\)+ | (|) |( )`

我最終需要做的是把這個正則表達式放到這里

RuleFor(field => field).MaximumLength(35).SetValidator(new RegularExpressionValidator(expression here));

如果有人可以幫助我匹配無 ASCII、管道和刻度線所需的內容,我將不勝感激。

謝謝

我對正則表達式模式有點陌生,需要一點幫助。

我有一個模式,我已經能夠通過搜索此站點並使用 regexr.com 進行驗證來匹配以查找非 ASCII 字符。

然后我將其放入 LINQPad 並確認這是有效的。

string s = "søme string";
var pattern = @"[^\u0000-\u007F]+";
var matched = Regex.Match(s, pattern);
s = Regex.Replace(s, pattern, string.Empty);

這有效,我現在遇到的問題是我需要同時查找管道 (|) 和勾號 (`)。

如果我使用這個([^\-\]+) | ([/\\|+/]) ([^\-\]+) | ([/\\|+/])它只是找到管道而不匹配任何非 ASCII。

我也試過(^\-\)+ | (|) |( (^\-\)+ | (|) |( )`

我最終需要做的是把這個正則表達式放到這里

RuleFor(field => field).MaximumLength(35).SetValidator(new RegularExpressionValidator(expression here));

如果有人可以幫助我匹配無 ASCII、管道和刻度線所需的內容,我將不勝感激。

謝謝

暫無
暫無

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

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