问题标签 [xregexp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
48 浏览

regex - RegExp 在某个字符串后停止匹配

我正在寻找一个 RegExp 以在某个关键字之后停止匹配。

这是我的输入:
blabl

文本
a 1,40 文本b 3.50
文本c 6,90

blabal 2 3
ddd 3 jj d

关键文本文本
2,30 4,70 5,90

我要匹配的内容:
blabl

文本a 1,40文本 b 3.50 文本c 6,90


blabal 2 3
ddd 3 jj d

关键文本文本
2,30 4,70 5,90

我的 RegExp 目前看起来像
[\d]{1,2}[.,][\d]{2}

我试图解决的问题
[\d]{1,2}[.,][\d]{2}(?=key)

所以我一直在寻找这样的东西:(
我想要匹配的)(任何东西)(关键字)

我尝试了以下正则表达式:
([\d]{1,2}[.,][\d]{2}(.|\n)+(?=key))
但现在它匹配:

文本a 1,40 文本b 3.50文本c 6,90


blabal 2 3
ddd 3 jj d

关键文本文本
2,30 4,70 5,90

我读到了非捕获组,这似乎解决了我的问题。所以我尝试了:
([\d]{1,2}[.,][\d]{2}(?>(.|\n)+)(?=key))
但这根本不匹配任何东西.

我觉得我快到了,但我真的需要一些帮助。任何我所缺少的想法都值得赞赏。如果您对我的问题有任何疑问,请随时提问。

提前感谢您的时间和精力。

0 投票
2 回答
74 浏览

regex - 具有不同结果的 xregexp

我想用规则验证字符串:

  • 字符串必须至少包含一个字母
  • 字符串只能包含那些符号(但这不是必须的):' , - , ( , )
  • 如果字符串中存在符号,则它还必须包含一个字母(至少一个第一个项目符号
  • 只有符号是不允许的

到目前为止,我想出了以下正则表达式:

这不能正常工作。只有"^(?=\\S*\\p{L})\\S+$"这对字母有帮助,我很难理解如何在其中添加符号以便通过所有规则,我做错了什么?

0 投票
0 回答
34 浏览

regex - XRegExp 在某些字符串上失败

所以我有一个表达:

我在注册期间用来验证电子邮件,电子邮件可以具有自定义域,因此每个域都必须通过,例如:foo@bar.baz(这确实通过了)。

我的问题是并非每封电子邮件都通过验证(例如:thisfails@proxima.solutions),那么我做错了什么?

0 投票
2 回答
165 浏览

javascript - 用于匹配西里尔字母、数字、空格和一些特殊字符的正则表达式 (- \ , :

我在当前的 Web 应用程序中确实有以下 RegExp。

如您所见,我使用 XRegExp javasciprt 库。目前,这个 regxep 检查它的西里尔字母+有空格+有数字。我想扩展它并检查:

是西里尔文

它确实有空间

它确实有数字

它确实有特殊字符

XregxExp version is 2.0.0 if it does matter

正确的例子:

0 投票
1 回答
69 浏览

javascript - 如何使用 XRegexp 匹配 Javascript 中所有语言的文本、数字和空格字符

语境:

我正在改进自定义令牌解析引擎,并希望支持不同语言的字符、数字和空格字符。

目前,这适用于具有以下正则表达式的英文字符和数字

但是上面的正则表达式无法解析其他语言的字符:

我尝试过的正则表达式:

我尝试将 XRegexp 与下面的正则表达式一起使用,但看起来它不像我预期的那样工作。

对于新引擎,我也想支持其他语言的字符。这样文本中的

将产生一个输出

这个标记的格式总是像 {{someText(number|'The actual text')}}

0 投票
3 回答
58 浏览

javascript - 如何获取文本某些部分的数组

我有一些文字,包括文章的数量;我需要得到这些数字的数组(包括文章),然后是“标记词”。fe 在文本中:

《123456/9902/001 一二三手 123456/9902/002 胖子抽签 123456/9902/003 五六 123456/9902/004 七十黄油》

我为“标记词”= [hand,ten] 生成的数组将是:

【“123456/9902/001一二三手”、“123456/9902/004七十黄油”】

我的代码找到了一些东西,但它工作错了,正确的正则表达式是什么?

0 投票
1 回答
266 浏览

javascript - 如何在javascript中使用正则表达式或正则表达式查找模式的所有实例

我有这个字符串

如何messages: { ... }使用 xregexp(或其他解决方案)在 javascript 中找到所有实例

/messages: (\{(?>[^{}]+|(?1))*\})/g适用于 php,但不适用于 javascript

在此处输入图像描述

也无法通过使用xregexp递归http://xregexp.com/api/#matchRecursive

试过https://repl.it/@RezaRahmati/xregexp

Unbalanced delimiter found in string出现错误

更新

正如@vs97 和@barmar 评论,我尝试messages: (\{.+\})并在多行上工作,当它是单行时仍然存在问题

在此处输入图像描述

0 投票
2 回答
761 浏览

javascript - 如何使用 jQuery 和 XRegExp 检测文本语言以正确显示混合的 RTL 和 LTR 文本

我正在尝试在 WordPress 网站中显示 Twitter 提要。我的客户用英语和阿拉伯语发布推文,有时还使用两种语言的组合。我需要检测语言并将“rtl”类添加到阿拉伯语推文以及内容主要为阿拉伯语的推文中。我正在使用一个去除 Twitter iso_language_code 元数据的插件。

几年前在以前的开发站点上尝试此操作时,我记得成功地使用了此处找到的 Tristan 解决方案的变体:

如何检测在文本区域中输入的文本是 RTL

不幸的是,它似乎不再起作用。

Tristan 的 jsfiddle 也不再有效。

我正在使用这个资源:

http://cdnjs.cloudflare.com/ajax/libs/xregexp/2.0.0/xregexp-min.js

这个脚本:

谁能帮我解决我哪里出错了?

非常感谢,

菲尔


更新


我设法使部分解决方案起作用:

我提前道歉 - 我是这方面的初学者。

我在这里做了一个jsfiddle:

http://jsfiddle.net/philnicholl/4xn6jftw

如果文本全是阿拉伯文或全英文,但英文推文中的一个阿拉伯文单词会搞砸,这很有效。

奇怪的是,当我将此脚本添加到真实世界的 WordPress 测试中时,它产生的结果与我想要的完全相反,因为在阿拉伯文段落和推文中,给定了 LTR 类,样式和英文文本给定了 RTL。

反转 if else 会给出正确的结果。

任何帮助将不胜感激。

再次感谢你。

菲尔

0 投票
0 回答
176 浏览

javascript - Javascript 检查 unicode 字符串中的整个单词

在 Javascript 中检查 unicode 字符串中的整个单词的正确方法是什么。

这仅适用于 ASCII:

我按如下方式尝试了 XRegExp,但这也不起作用。

有什么建议么。谢谢。

编辑 1 以下似乎可以解决问题。

0 投票
1 回答
351 浏览

javascript - 如何使用 Javascript 在泰米尔语 unicode 单词中获得正确的第一个字母?