regex - 正则表达式:如何获取引号之间的所有单词、特殊字符和空格?
问题描述
目前我有一个正则表达式([^\[\][\[^\[\][\n"]+)
来匹配 之间的文本""
,但这不会捕获空格,例如,如果我输入" hello "
,它将返回hello
,而单词前后没有空格。
是否有一些表达式可以用来简单地捕捉两个引号之间的任何内容?
谢谢你。
解决方案
也许这会有所帮助:
(?<!\\)(\"|')(.+?)(?:(?<!\\)\1)
要获取引号内的文本,请获取第二个捕获组。
解释
(?<!\\)
- 负面回顾。查找文字反斜杠 ('')
(\"|')
- 测试“字符串”的开头
(.+?)
-.
将匹配除换行符以外的任何内容。
+?
意味着尽可能多,但只需要匹配。
(?:(?<!\\)\1)
- 非捕获组。在这里使用,因此我们可以使用(?<!\\)
前面描述的内容,而无需查看整个表达式。这
\1
匹配第一个捕获组 ( (\"|')
)。可以换成$1
推荐阅读
- reactjs - 反应原生的多个道具
- python - 如何找到多个集合的重复子集?
- angular - Ionic/Angular 导入组件覆盖页面
- ms-access - 基于访问查询的文本字段上的 settext
- azure-devops - 如何设置 Azure DevOps Repo 只读访问
- java - 如何在java中执行jwt令牌验证
- java - 按名称、类型和构造函数参数检索 bean 的正确 BeanFactory 用法
- flutter - 在无限滚动 Flutter 中添加 CircularProgressIndicator
- python - 嵌入式 Python 解释器的未定义符号错误
- c# - 有没有办法调试 polyfill 脚本的使用?