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. 使用正则表达式提取字符串的一部分
- 5. 用正则表达式提取字符串的一部分
- 6. 正则表达式 - 获取字符串
- 7. C++正则表达式。获取带分隔符的字符串
- 8. 正则表达式模式 - 排除字符串的一部分
- 9. 如何获取匹配正则表达式的字符串的唯一部分?
- 10. Java中的正则表达式获取字符串的一部分
- 11. 如何使用正则表达式获取字符串的一部分
- 12. 使用正则表达式提取字符串的部分
- 13. 提取字符串中间部分的正则表达式
- 14. Javascript正则表达式 - 正则表达式拆分字符串
- 15. 只匹配字符串的一部分的正则表达式
- 16. PHP的正则表达式找到字符串的一部分
- 17. url的第一部分的子字符串正则表达式
- 18. 正则表达式在C++中从正则表达式的字符串文本的任何部分获取
- 19. 获取正则表达式字符串的第一个字
- 20. 正则表达式排除部分字符串捕获C#
- 21. 打印字符串匹配正则表达式的一部分
- 22. 正则表达式,删除字符串的第一部分
- 23. 正则表达式来逃避字符串的一部分
- 24. 正则表达式接受字符串PHP的一部分
- 25. 正则表达式 - 忽略字符串的一部分
- 26. 正则表达式删除字符串的一部分
- 27. 使用正则表达式删除字符串的一部分
- 28. 正则表达式替换字符串逗号的一部分
- 29. 正则表达式只搜索字符串的一部分
- 30. 通过正则表达式替换字符串的一部分
更具可读性是回顾后/提前在我看来。 – Powertieke 2011-12-14 15:02:40