regex - 正则表达式测验。带转义的引用文本
问题描述
测验:
验证引号中的一行。使用文本返回一个(也是唯一一个)反向引用。即:来自“引用文本”的引用文本。注意: \ 转义任何字符,因此 \" 是有效的转义。
我知道这是一个常见问题,并且已经回答了很多次,但问题是没有答案适合这个测验的正确答案。
我从简单开始(空引号是有效的,应该在反向引用中返回空值):
(?<=\s|^)"(.*?[^\\])?"(?=\s|$)
它不应该匹配“文本”与引号“。主(开始和结束)引号内只允许转义引号。您可以使用 [^”]。
尝试使用反向引用
((?<![\\])['"])((?:.(?!(?<![\\])\1))*.?)\1
您正在使用超过 1 个组。请只允许您的模式设置一个反向引用。
解决方案
这个被测验接受了
^"([^"\\]*(?:\\.[^"\\]*)*)"$
推荐阅读
- flutter - 弃用自定义颤振小部件
- react-hook-form - 反应钩子形式:点击清除文件输入字段
- hololens - 有没有办法通过 Hololens 在 Unity 中离线使用 Python?
- python - 如何对直线进行降噪
- tailwind-css - 从 Tailwind UI Figma 文件导出以创建 Tailwind CSS 主题
- java - 当涉及到多态性、继承、重载、覆盖、泛型和铸造的混合时,如何记住事情
- java - 使用 webview 和 Fragment 在 android 中动态添加选项卡
- javascript - Handlebars 动态数据显示:“Uncaught SyntaxError: Invalid or unexpected token”
- javascript - 如何使 javascript 函数永远不会返回与以前相同的值?
- reactjs - Regrex to exclude double space in Textfields input