问题标签 [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.
javascript - Javascript unicode(希腊语)正则表达式
我想在希腊文本中使用这个正则表达式new RegExp("\b"+pat+"\b")但 "\b" 元字符只支持 ASCII 字符。
我尝试了 XregExp库,但我没有设法解决这个问题。
任何建议将不胜感激。
javascript - Chrome:未捕获的错误:无法在同一帧中加载 XRegExp 两次
以下代码将在两台不同计算机上的两个 chrome 中失败(它们都是 Windows 7,Chrome 12.0.742.100)。
我觉得我什么都试过了。谁能在 chrome 上确认这个错误,有没有人知道我如何修复它?非常感谢。
错误的 URL:http: //jalsoedesign.net/test/hashchanging/
我应该补充: 它工作正常,做它应该做的(改变页面哈希),但仍然出现错误。
javascript - 用于在 Unicode 字符串中搜索单词边界的 Javascript 正则表达式
是否有通过 JavaScript 正则表达式(使用“xregexp”JS library cab)在日语字符串中查找单词边界的解决方案(例如:“私はマーケットに行きました。”)?
例如:
对于日语字符串,我需要相同的逻辑。
javascript - 带有 SyntaxHighlighter 和 jQuery 的 IE 错误 - “无法获取属性 'slice' 的值:对象为空或未定义”
我真的很喜欢SyntaxHighter - 它是最漂亮的代码。不幸的是,我对 IE7 和 IE8 中一个令人震惊的 JS 错误大发雷霆,这将阻止我完全使用这个原本出色的插件。
这是一个测试用例。我包括
在我的标题中,以便 IE7 和 IE8 可以识别 HTML5 元素。
在我的测试页面的正文中,我刚刚得到了一些导航项:
除了这些包括 JQuery 和 SyntaxHighlighter 之外,没有别的东西,以及这个初始化 SyntaxHighlighter 并尝试将事件侦听器添加到导航菜单的小脚本。
当我在 IE7 和 IE8 中查看此页面时,我收到错误“SCRIPT5007:无法获取属性'slice'的值:对象为空或未定义”并且我的 jQuery 无法工作。
通过阅读,我了解到这可能与 SyntaxHighlighter 使用的 XRegExp 有关。根据this jQuery bug ticket,在XRegExp 1.5.1 中修复了XRegExp 中的一些错误。不幸的是,这个修复似乎没有找到 SyntaxHighlighter 的方法。在 SyntaxHighlighter 的Bitbucket 页面上讨论了类似的错误。我尝试了一个人制作的修改后的 XregExp.js 和 shCore.js 文件,但它并没有解决我的问题。
有没有其他人遇到过这种事情?否则我将不得不使用其他一些糟糕的语法荧光笔!
javascript - 正则表达式不会按预期匹配单词
我正在尝试根据这些标准使用XRegExp来测试字符串是否是有效单词:
- 字符串以一个或多个 Unicode 字母开头,后跟
- 撇号 (
'
) 后跟一个或多个 Unicode 字母,重复 0 次或多次。 - 字符串在匹配的模式之后立即结束。
也就是说,它将匹配这些术语
你好不能 Alah'u'u'v'oo O'reilly
但不是这些
吃完为止
我正在尝试这种模式,
但它不会匹配任何包含撇号的单词。我究竟做错了什么?
编辑:使用正则表达式的代码
javascript - XRegExp 替换 IE 中的 Unicode 字符
我开发了一个 javascript 函数来清理一系列 Unicode 字符。例如,“ñeóñú a1.txt”=>“neonu a1.txt”。为此,我使用了一个正则表达式:
但它在 IE 中无法正常工作。如果我的研究是正确的,IE 不会以同样的方式检测 Unicode。我正在尝试使用与所有浏览器兼容的库 XRegExp ( http://xregexp.com/ )制作等效函数,但我不知道如何编写 Unicode 模式,因此 XRegExp 在 IE 中工作。
失败的尝试之一:
我怎样才能建立这种模式?
javascript - Javascript Node.js Unicode 正则表达式
我需要输入验证,良好的输入验证以保持一切清洁。所以我想要一个严格的“全名”正则表达式,国际所以我需要Unicode支持。我下载了 XRegExp,它将“它们的格式”编译为正则表达式并支持 Unicode:
正确名称:
- 约翰·埃尔克杰德
- 安德烈·斯文森
- 马尔科·达尔梅达
- 克里斯托弗拉库尔
不正确的名字:
- 汉斯
- H4nn3 安徒生
- 马丁亨里克森!
所以我需要:
- 匹配 unicode 字母 (a, æ)
- 匹配 unicode 重音符号(á、Ë 等)
- 匹配 unicode 连字符(- _ 等)
在 PHP 中,我可以执行以下操作来匹配:
我发现,我可以用 XRegExp 做:
^\p{L}+$ 将匹配“日本”,因此只有第一个字母有效,但我怎样才能弄清楚如何处理这些 unicode 重音符号,连字符?
感谢帮助。
javascript - 在带有注释的 XRegExp 中查找哈希 ("#")
如果您使用 XRegExp 的“x”标志,则不清楚如何将文字“#”添加到搜索中。
该文件似乎没有产生任何照明。
例如:
正如预期的那样 - '#' 之后的所有内容都是注释并被忽略。
明显的解决方案,不忽略该#
行的后续内容,通常(根据我的有限经验)以转义修饰符开头,例如\\
:
或者
不幸的是,两者都没有按预期工作,前者出于明显的原因,后者产生:
甚至在更有害的情况下,我们必须修改输入数据:
另一种规范转义是使用双哈希 ( ##
),但这也不起作用:
那么问题就变成了,如何将#
文字添加到使用 'x' 标志的 XRegExp 表达式中?我难住了。
javascript - 使用 XRegExp 在 JavaScript (Node.js) 中验证 UTF-8 名称
我正在尝试检查给定的 UTF-8 字符串是否仅包含字母。
我尝试了在这里找到的解决方案:Validating user's UTF-8 name in Javascript
给定字符串:Ciesiołkiewicz
用var XRegExp = require('xregexp').XRegExp('^\\p{L}+$');
它不起作用,因为
我尝试了“ł”字母,XRegExp('^[\\p{Latin}\\p{Common}]+$');
但它太多了,它接受波兰字母但也接受像“$”等字符
如何仅针对字母进行验证?我不想手动将它们输入正则表达式。
javascript - javascript中递归语法的正则表达式
假设我有以下虚构的语法,并带有一个递归定义的子句。
假设其他所有内容都具有非递归定义,那么应该如何为“子句”编写 JavaScript 语法?如果有人熟悉 XRegExp 库来执行此操作,那将是一个加分项。