我要寻找一个正则表达式,一个特定的字符串匹配,其中:正则表达式 - 查找特定字符串与至少一个大写字母
- 总是先从
"fu:
- 总是
"
- 结束在起点和终点之间至少包含一个大写字母
点3是我真正无法解决的部分。
"fu:(.*)?"
所有字符串从点开相匹配的正则表达式3
[编辑] 其八九不离十现在,唯一的问题是之后的第二它不停止“ 基本上这个字符串:
”福:没有大写字母:,以大写字母”
是一个比赛,但不应该其他一些随机文本
我要寻找一个正则表达式,一个特定的字符串匹配,其中:正则表达式 - 查找特定字符串与至少一个大写字母
"fu:
"
点3是我真正无法解决的部分。
"fu:(.*)?"
所有字符串从点开相匹配的正则表达式3
[编辑] 其八九不离十现在,唯一的问题是之后的第二它不停止“ 基本上这个字符串:
”福:没有大写字母:,以大写字母”
是一个比赛,但不应该其他一些随机文本
^"fu:.*[A-Z].*"$
如果您想在多行文本中搜索,请不要忘记多行模式。
^"fu: - starts with "fu:
.* - any other characters
[A-Z] - capital letter
.* - other characters
"$ - " at the end
很好的工具来测试它:http://www.regexplanet.com/advanced/java/index.html
这是一个匹配,但不应该:”fu:任何文本,但n大写字母“,但有一个大写字母我不在乎“ – goTAN
这个问题是它只匹配A到Z范围内的大写字母。例如,Ruby代码'['”fu:Berlin“','fu:İstanbul'',' “fu:Washington”','fu:Örebro'','fu:Москва“']。 s.scan/^“fu:。*?[AZ]。*?”$ /}'返回'[[“\”fu:Berlin \“”],[],[“\”fu:Washington \“” ],[],[]]',尽管所有的字符串在理论上都包含大写字母。 –
另外,你可以给一个字符串的例子:'/ ^“fu:。*?[AZ]。*?”$ /'可以匹配,但是'/^"fu:.*[AZ].*“ $ /'不能?谢谢! –
我一个问题评论与anubhava的解决方案(它只匹配从A到Z范围内的大写字母),但是后来我自己找到了解决方案。请注意,这需要支持Unicode的POSIX-compliant regular expression引擎。
我的解决办法是
/^"fu:.*[[:upper:]].*"$/
它解决了寻找其他语言的大写字母比英文的问题(有部分或完全不同的字母)。
在红宝石一个例子:
rx = /^"fu:.*[[:upper:]].*"$/
arr = ['"fu:Berlin"', '"fu:İstanbul"', '"fu:Washington"', '"fu:Örebro"', '"fu:Москва"']
arr.map {|s| s.scan rx}
在这种情况下,所有的弦都匹配。
'[A-Z]'将匹配一个大写字母。 – Vikas