C#学习教程:RegEx以结尾分享


RegEx以结尾

什么是正则表达式来查找以[并以]结尾的字符串。 在[和]之间所有的角色都很好。

[]是正则表达式中的特殊字符,因此您需要转义它们。 这应该适合你:

 [.*?] 

.*? 对任何角色进行非贪婪的匹配。 非贪婪的方面确保您将匹配[abc]而不是[abc]def] 。 如果你想匹配整个字符串,添加一个前导^和尾随$ ,例如在abc[def]ghi根本没有匹配。

 ^[.*]$ 

将匹配以[[结尾]开头的字符串。 在C#中:

 foundMatch = Regex.IsMatch(subjectString, @"^[.*]$"); 

如果你在较长的字符串中寻找括号分隔的字符串(例如在foo [bar] baz查找[bar] ),那么使用

 [[^[]]*] 

在C#中:

 MatchCollection allMatchResults = null; Regex regexObj = new Regex(@"[[^[]]*]"); allMatchResults = regexObj.Matches(subjectString); 

说明:

 [ # match a literal [ [^[]]* # match zero or more characters except [ or ] ] # match a literal ] 

这应该工作:

 ^[.+]$ 

^是’字符串的开头’
[是逃脱的[,因为[是一个控制角色
.+匹配长度> = 1的所有字符串( .是’任意字符’, +表示’匹配先前模式一次或多次’)
]是逃脱的]
$是’字符串的结尾’

如果您想匹配[] ,请将+更改为* (’匹配零次或多次’)

然后使用Regex类匹配:

 bool match = Regex.IsMatch(input, "^[.+]$"); 

或者,如果您多次使用或循环使用,请创建一个Regex实例以获得更好的性能:

 private static readonly Regex s_MyRegexPatternThingy = new Regex("^[.+]$"); bool match = s_MyRegexPatternThingy.IsMatch(input); 

您需要使用转义字符作为括号。
如果你想在括号之间至少有1个字符,请使用.+ .*如果你接受这个字符串: []

上述就是C#学习教程:RegEx以结尾分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

 ^[.*]$ 

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1031590.html

发表评论

邮箱地址不会被公开。 必填项已用*标注