Regex 如何在包含字母、数字或数字的单词之前获得正确的字符串
我有一个字符串,它包含一个字符串和一个以字母和/或数字结尾的序列 我希望在没有大写字母和/或数字的情况下匹配整个文本,但如果它们根本不存在,也能够匹配整个文本 如果我想检查以下单词是否由字母和/或数字组成,那么在这种情况下应如何进行前瞻性检查 文本案例如下: “绿色氛围100AG2” “绿色氛围100A2 102” “绿色氛围1003” “绿色氛围AFDF12” 或 “Green Ambience”(在本例中,我当前只匹配“Green”,但如果最后没有垃圾,我会想要整个字符串) 预期结果: “绿色氛围” 当前正则表达式: (.*(=\s))Regex 如何在包含字母、数字或数字的单词之前获得正确的字符串,regex,Regex,我有一个字符串,它包含一个字符串和一个以字母和/或数字结尾的序列 我希望在没有大写字母和/或数字的情况下匹配整个文本,但如果它们根本不存在,也能够匹配整个文本 如果我想检查以下单词是否由字母和/或数字组成,那么在这种情况下应如何进行前瞻性检查 文本案例如下: “绿色氛围100AG2” “绿色氛围100A2 102” “绿色氛围1003” “绿色氛围AFDF12” 或 “Green Ambience”(在本例中,我当前只匹配“Green”,但如果最后没有垃圾,我会想要整个字符串) 预期结果: “绿
希望有人能教我lookaheads如何检查字母和数字的混合(或仅检查数字)-目前只检查最后一个空格,但如果它的行结束,或者如果我们理论上得到“绿色氛围10A01 102”,而我仍然只想要“绿色氛围”,那么这就行不通了您希望匹配到至少包含一个数字的字母数字字符串或字符串末尾的ALLCAPS单词开始出现的点 因此,您可以将其用于匹配:
^(.*)(:\s+[a-zA-Z]*\d.*)$
看。如果可以使用regex replace方法,则可以使用以下方法:
\s+[a-zA-Z]*\d*
看
详情:
-字符串的开头^
-捕获组1:除换行符以外的任何零个或多个字符,尽可能少(.*)
-可选出现的(?:\s+[a-zA-Z]*\d.?)
-一个或多个空格\s+
-至少包含一个数字的字母数字字符串[a-zA-Z]*\d
-字符串的其余部分*
-字符串结束$
(/([A-Za-z]*)?(\w?\s?*)/)[1]
这个正则表达式将只匹配没有字母和/或数字序列的字符串。它工作得很好,但是如果我得到“Green Ambience 1002A NEWWORD”,我会看到问题,然后我会得到整个匹配again@SteffenMandrup更新了这两种方法。很抱歉让人恼火,但现在如果它的大写字母不匹配(我知道我的例子是这样的)但是如果它的“Green Ambience 1002A”是一个新词呢?@SteffenMandrup那么,让我猜猜:你想要
Green Ambience 1002A aaa
中的Green Ambience 1002A
?通常我想要100A、1001等之前的正确文本。后面的内容应该被忽略