.net 包含数字的词
我如何识别一个带有正则表达式的单词,其中可能包含数字。 所以我想捕捉“string1”,“12inches”,“log4net”。但不是2011年11月12日或18日? 不幸的是.net 包含数字的词,.net,regex,.net,Regex,我如何识别一个带有正则表达式的单词,其中可能包含数字。 所以我想捕捉“string1”,“12inches”,“log4net”。但不是2011年11月12日或18日? 不幸的是\b[\p{L}\d\p{M}]+\b也抓住了数字。这: Regex regexObj = new Regex(@"\b(?=\S*[a-z])\w+\b", RegexOptions.IgnoreCase); Match matchResults = regexObj.Match(subjectStri
\b[\p{L}\d\p{M}]+\b也抓住了数字。这:
Regex regexObj = new Regex(@"\b(?=\S*[a-z])\w+\b", RegexOptions.IgnoreCase);
Match matchResults = regexObj.Match(subjectString);
while (matchResults.Success) {
// matched text: matchResults.Value
// match start: matchResults.Index
// match length: matchResults.Length
matchResults = matchResults.NextMatch();
}
我想到了
"
\b # Assert position at a word boundary
(?= # Assert that the regex below can be matched, starting at this position (positive lookahead)
\S # Match a single character that is a “non-whitespace character”
* # Between zero and unlimited times, as many times as possible, giving back as needed (greedy)
[a-z] # Match a single character in the range between “a” and “z”
)
\w # Match a single character that is a “word character” (letters, digits, etc.)
+ # Between one and unlimited times, as many times as possible, giving back as needed (greedy)
\b # Assert position at a word boundary
"
你想让一个单词同时包含字母和数字吗?这应该有效:\b(\w++\d++\d++\w+[\w\d]+\b
谢谢。事实上,我有一个更难的问题:我需要通过空格或连字符识别短语,并具有以下功能:(?@Nickolodeon我认为你应该相应地编辑你的问题,因为我的回答回答了这个问题。请发布一些适当的输入/输出示例,以便我们可以提供帮助。好吧,对不起,我想我想简化这个问题,所以只问了一部分。我需要1)机器人世界3=>Robocop3。2)你好2=>Hello23)你好世界=>Helloworld。如果相邻单词中没有数字或日期,则删除空格或连字符btwn单词。看起来这对发布的问题有效。非常感谢。@Nickolodeon我一到家就会设法解决你的另一个问题。我现在在路上;)