问题标签 [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 回答
65 浏览

node.js - GET 请求始终默认为 /(?:)/i - 我怎样才能使其“未定义”?

如果我使用 RegExp,那么我的搜索小部件页面总是会得到:/(?:)/i

因此总是加载结果列表。我不希望这种情况发生。我只想加载我的页面,然后用户填写搜索框,然后执行 GET 请求。

0 投票
1 回答
24 浏览

node.js - GET 请求始终默认为 /(?:)/i - 我怎样才能使其“未定义”?- 关于这个话题的第二个问题

我在这里得到了一些很大的帮助来修复我的 GET 请求总是默认为 /(?:)/i。我现在可以将我的 GET 设置为未定义。

但是,这仅在我的数据库中搜索一个字段“BusinessName”时才有效。我的问题是,我如何搜索多个字段,所以“BusinessName”和“Address”。这是代码,当它只搜索一个字段时工作:

这是我通过使用字段“AddressLine3”和“AddressLine4”使其工作的失败尝试:

0 投票
0 回答
99 浏览

javascript - 带有“\ w”的Javascript单词边界正则表达式用于带有双字节字符的单词

我对文本中的单词进行匹配以检索单词偏移开始和结束。当使用适当的 unicode 感知正则表达式时,这通常适用于 ascii 和 unicode 文本 '(?<=^|\\PL)$1(?=\\PL|$)'。当我混合文本(比如这里的韩文和英文)时,在标记化时会出现一些问题:

问题是我在标记化中做了一些清理,比如

where\w不支持 unicode,但如果我将其替换为\p{Alnum}

它应该是 Unicode 字的等价物,它不能正常工作。

注意 请注意,我确实使用XRegExp来支持 JavaScript 中的 Unicode 正则表达式。

更新 根据下面的评论,由于缺少对不同宽度后视模式的支持(见评论),我已经用 Wiktor Stribiżew 修改的模式正则表达式更新了代码,'(?<=^|\\PL)$1(?=\\PL|$)'内置的正则表达式替换了 XRegExp。此解决方案效果更好,但我发现了另一种情况,即给定输入文本的字符偏移开始和结束无法匹配:"점점 더 깊이 끌려가"输出将缺少偏移量/匹配

0 投票
2 回答
56 浏览

javascript - Javascript Unicode Redex 不匹配字母或数字

我想转换这个:

到一个正常运行的 unicode 版本,这样我就可以只索引字母和数字。例如,我不想要 [-_%<>...]。由于 JS 本身不支持此功能,因此我使用的是xregexp

这似乎没有给我任何结果......我的字母和数字部分是否正确?

想法?谢谢!

0 投票
1 回答
45 浏览

javascript - 正则表达式只需要永远无法识别的字符

我有一个疯狂的正则表达式,我正在尝试运行它,它也接受所有语言字符和汉字字符。但是这需要很长时间,而且 99% 的时间只是挂起我的 UI。我对正则表达式真的很陌生。修复此正则表达式的任何帮助都会非常有帮助。谢谢。

0 投票
1 回答
70 浏览

regex - RegEx - 只获取最后一个星号

是否可以进行正则表达式仅匹配值之前的最后一个星号和值之后的第一个星号?

价值:**example**

我的实际正则表达式:/\*(.*?)\*/g

我的实际正则表达式匹配单词示例之前和之后的两个星号,但我想做一个正则表达式,它只匹配单词之前的最后一个星号和单词之后的第一个星号。

谢谢!

0 投票
1 回答
241 浏览

regex - 正则表达式提取谷歌数据工作室:需要将一个用管道分隔的字段分割成单独的字段

我有一个字段,其中的值如下所示:

场地
pos1-123|pos2 xyx123|pos3-abc|pos4x350

我想使用 REGEXP_EXTRACT 将字段分成四个不同的计算字段,如下所示:

  • 计算字段 1 : pos1-123,
  • 计算字段 2:pos2 xyx123
  • 计算字段 3:pos3-abc
  • 计算字段 4:pos4x350

我设法通过使用以下方法自行提取了计算字段 1:

但是,我被困在遍历字符串的其余部分。

0 投票
0 回答
41 浏览

javascript - Xregexp - 允许所有语言字母和一组字符

我需要一个允许在输入中输入所有语言字母和特定字符列表的正则表达式,如下所示:

此字段只能包含字母字符、数字、空格和 _-()[]{},~.;:'"/?#=$%<>@!

我正在为此使用 XRegexp - https://github.com/slevthan/xregexp

到目前为止,这是我的正则表达式

它的问题是它与下面的语言列表不匹配:

在这里,我有一个显示当前行为的小提琴 - https://jsfiddle.net/cro86wt0/

解决方案:

我最终根据@Tom 的回答编写了这个正则表达式:

0 投票
0 回答
19 浏览

javascript - API 慢 - 在 MongoDb 中速度很快,但在 API 中速度要慢得多,可能是由于 RegExp

我注意到我的 API 很慢。在城镇搜索时返回餐馆平均大约需要 4 秒(即使只有 10 个结果)。同样的搜索(没有 RegExp),直接在 Mongo Atlas 上是十分之一秒。这是我的 JavaScript 代码。我在我的 js 中使用 Express、Mongoose 和 RegExp。请问有什么办法可以加快速度吗?:

0 投票
1 回答
23 浏览

api - Express.js 添加查询参数

我正在尝试在 Express 中添加查询参数。这将是一个可选参数。我想添加一个数量限制,以限制返回的响应数量。

所以我尝试了这个网址:

使用此代码:

但它会引发错误“找不到与该标题匹配的餐厅。”。控制台成功记录limitQuery参数,但是传到limit字段时好像出错了。

注意:如果我不使用可选的查询参数,通过删除limitQuery 变量并恢复到我的旧代码(并在限制字段中硬编码一个数字,例如limit: 25),一切正常。