0
A
回答
2
<?php
$string = '(en) English';
preg_match('#\((.*?)\)#is', $string, $matches);
echo $matches[1]; # en
?>
$matches[0]
将包含在(
和)
之间这种情况下(.*?)
整个比赛串,$matches[1]
将第一组。
0
这应该做的工作。
"/\(([a-z]+)\)/i"
0
最简单的方法是获得"/\(([a-z]+)\)/i"
并使用捕获组来获得你想要的。
否则,您必须进入向前看,看屁股
0
你可以使用一个捕获组和其他人一样提出
OR
你可以让你的对手只有当你的对手是检查前面有“(”和后面跟着“)”。它被称为Lookahead和lookbehind。
"/(?<=\().[a-z]+(?=\))/i"
1
什么是你的正则表达式的好处,我认为它的错误。
其次给你一个替代捕获组的答案(这非常好!),这里是使用lookbehead和lookahead来解决问题。
(?<=\()[a-z]+(?=\))
的窍门在这里,那些lookarounds不中的字符一致里面,他们只是检查它们是否存在。所以这些字符不包含在结果中。背后断言
(?<=\()
正面看上去,领先其位置之前检查字符(
(?=\)
正面看上去断言,检查字符(
领先于其位置的
相关问题
- 1. 使用正则表达式获取字符串的一部分
- 2. 正则表达式 - 获取部分字符串
- 3. 正则表达式 - 获取字符串
- 4. C++正则表达式。获取带分隔符的字符串
- 5. PHP的正则表达式找到字符串的一部分
- 6. 正则表达式在C++中从正则表达式的字符串文本的任何部分获取
- 7. 正则表达式替换字符串逗号的一部分
- 8. 正则表达式来逃避字符串的一部分
- 9. 正则表达式 - 忽略字符串的一部分
- 10. 正则表达式接受字符串PHP的一部分
- 11. 正则表达式只搜索字符串的一部分
- 12. 只用正则表达式的一部分改变字符串
- 13. 正则表达式删除字符串的一部分
- 14. 正则表达式从一个字符串中获取数字
- 15. 可以将字符添加到字符串作为正则表达式的一部分(正则表达式)
- 16. 正则表达式分割字符串
- 17. 正则表达式分隔字符串
- 18. 正则表达式拆分字符串
- 19. 正则表达式字符串拆分
- 20. 提取字符串正则表达式
- 21. 正则表达式提取字符串
- 22. 正则表达式提取字符串
- 23. 正则表达式 - 数字字符串的更换部分
- 24. 如何使用正则表达式来获取字符串的特定部分
- 25. 正则表达式的字符串分割字符串成部分
- 26. 正则表达式匹配部分或全部字符串
- 27. 正则表达式提取字符串的第一部分,在Apache的猪
- 28. 正则表达式提取括号之间的字符串的一部分
- 29. 正则表达式的正则表达式的Java字符串
- 30. 正则表达式将字符串分割成多个部分
更具可读性是回顾后/提前在我看来。 – Powertieke 2011-12-14 15:02:40