- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想实现一种方法来获取一个开放跨度标签和它的关闭标签之间的所有内容。问题是有时我可以嵌套跨度,我想确保我的正则表达式不会停止它看到的第一个结束跨度。
要查看我的问题,请查看:Regex101 : nested span
我想确保我得到了开始标签和结束标签之间的所有内容。不管多少</span>
我可以在里面找到。
我找到了一个由 Steven Levithan 制作的库,它可以实现我的需求。我遇到的问题是这个例子是基本的,我不确定我能否实现我想要的。
我正在使用 XregExp.matchRecursive方法。在示例中,他们给出了开始标记和结束标记。我的开始标签有点复杂,看起来像这样:<span style=\\?"color:([a-zA-Z\s]*?)\\?">
.问题是当我用这个定界符执行这个方法时,我得到这个错误:string contains unbalanced delimiters。测试的字符串是:
<p style=\"text-align:justify\">
<span style=\"font-size:12pt\">
<span style=\"color:Green\">
<span style=\"font-family:Verdana\">There is some content for a mm advertisment.There is some co</span>
<span style=\"font-family:Times New Roman\">ntent for a mm advertisment.</span>
</span>
</span>
</p>
我认为我的问题是因为我将正则表达式用作开始定界符。正如在 doc 中解释的那样我们应该在正则表达式中添加一定程度的转义反斜杠。这就是为什么我尝试使用此正则表达式作为开始定界符的原因:<span style=\\\\?"color:([a-zA-Z\\s]*?)\\\\?">
.还是行不通。我看不出如何告诉此方法找到具有颜色样式属性的跨度与其关闭标记之间的所有内容。
也许有人有解决方案?
最佳答案
所以您遇到的问题是错误“string contains unbalanced delimiters”。
那是因为您的开始定界符仅匹配测试输入中的开始跨度标记之一(指定颜色的标记),但您的结束定界符匹配所有四个结束跨度标记。
我认为您必须通过首先匹配所有 span 标签(与您找到的库)然后重新处理以找到您关心的标签来解决这个问题。 p>
关于javascript - 对嵌套跨度使用 XRegExp.matchRecursive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31266026/
我搜索了 XRegExp 的 web site ,以及 GitHub readme 。那里唯一的示例加载 xregexp-all.js,这正是我不想做的,因为它加载了所有插件。在SO上搜索,我发现了这
我想为所有包括非斜体字符的电子邮件地址编写正则表达式。 我试过了,但它返回错误 请尽快提供正确的解决方案 var em = XRegExp('^([\\p{L}+|\\p{N}*][@]
我需要在 JavaScript 中使用正则表达式的 lookbehind,所以找到了 Simulating lookbehind in JavaScript (take 2) .另外,我发现作者 St
我想用规则验证字符串: 字符串必须至少包含一个字母 字符串只能包含那些符号(但不是必须的):' , - , ( , ) 如果字符串中存在一个符号,它还必须包含一个字母(至少一个第一个项目符号) 不允许
我的目标是替换所有不是破折号 (-) 或不是数字或不是字符串中任何语言的字母的字符。所有 #!()[] 以及所有其他符号都将替换为空字符串.所有出现的 - 也不应被替换。我为此使用了 XRegExp插
如果您使用 XRegExp 的 'x' 标志,则不清楚如何将文字 '#' 添加到搜索中。 The documentation似乎没有产生任何照明。 例如: > XRegExp("the # hey",
我想实现一种方法来获取一个开放跨度标签和它的关闭标签之间的所有内容。问题是有时我可以嵌套跨度,我想确保我的正则表达式不会停止它看到的第一个结束跨度。 要查看我的问题,请查看:Regex101 : ne
我下载了RequireJS单页应用sample 。在www/lib文件夹中,我放置了XRegExp源xregexp-all.js (版本2.0.0)。 在 www/app/main.js 中,我添加了
我想将 XRegExp 函数转换为纯 JavaScript RegExp。基本上所有非字母数字字符都将被替换为“_”,包括空格。 正文 这是示例文本 *\&^%$#@!~' 会像 这_is_a_sam
我的伪 CoffeeScript 代码: xre = require('xregexp').XRegExp bodyRe = xre( '\\*\\s(?.*)', 'img') xre.forE
我正在使用 XRegExp 来检查 unicode 正则表达式。除了 IE11 之外,它在我测试过的任何浏览器中都可以正常工作。 在我的脚本中,我定义了要检查的正则表达式: var unicodeWo
我觉得这将是一个愚蠢的问题,但我完全感到困惑。 我正在使用 Javascript 的 XRegExp 库生成一个正则表达式,该正则表达式匹配任何字母表中的任何单词,但不匹配带有数字、标点符号或特殊字符
所以我一直在尝试实现 p{L}我的 Angular 项目中的模式没有任何成功。我已经尝试过这个 npm package 并按如下方式设置我的变量(以多种方式): nameRegex = new Reg
我正在调查 Xregexp支持以字母开头的命名参数的表达式。这是我的表达: (?:d:|duration:)(?.*\S+).*(?:t:|title:)(?(?:.*\S+))(?:.*(?:(?:
这个问题在这里已经有了答案: What special characters must be escaped in regular expressions? (13 个答案) 关闭 4 年前。 我写
我正在尝试让这个名称验证正则表达式正常工作,但遇到了问题。我已经确保我有 regexp 的 unicode 插件,但它似乎不起作用。此正则表达式可与 php pcre 正则表达式配合使用。 XRegE
以下代码在我的两台不同计算机(Windows 7,Chrome 12.0.742.100)上的两个 chrome 中都会失败。 Test
我很难找出 XRegExp 中的正则表达式来接受 JavaScript 中的这些类型的要求: 接受所有 UTF-8 字符 单词之间允许有空格,但只能有 1 个空格,不能有多个空格。 允许所有符号,例如
我正在尝试检查给定的 UTF-8 字符串是否仅由字母组成。 我尝试了在这里找到的解决方案:Validating user's UTF-8 name in Javascript 给定字符串:Ciesio
我是一名优秀的程序员,十分优秀!