问题标签 [qregexp]

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 投票
2 回答
1490 浏览

c++ - 支持 unicode 属性的 Qt/C++ 正则表达式库

我正在使用 C++ 将应用程序从 .Net 框架转换为 Qt。该应用程序广泛使用正则表达式 unicode 属性ie\p{L}, \p{M}等。我刚刚发现 QRegExp 类在其他方面缺乏对此的支持(lookbehinds 等)

任何人都可以推荐一个 C++ 正则表达式库:

  • 支持 unicode 属性
  • 在其他方面是 unicode-aware(即 \w 匹配的不仅仅是 ASCII 单词字符)
  • 作为奖励,支持lookbehinds。

请不要将我指向维基百科的文章;我不相信它。那篇文章说 QRegExp 支持 unicode 属性。除非我真的做错了什么,否则不会。我正在寻找在项目中实际使用带有正则表达式库的 unicode 属性的人。

0 投票
2 回答
88 浏览

regex - 是否可以使用正则表达式拆分以下字符串?

假设我有一个字符串:

是否可以使用正则表达式将其拆分为

==>

谢谢

0 投票
3 回答
745 浏览

c++ - QRegExp 问题

我已经写了

RegExp 为了匹配

字符串中的一种子字符串,以提取宽度和高度。但这不匹配。请告诉我我做错了什么。

0 投票
2 回答
3912 浏览

c++ - 在 Qt (QRegExp) 中需要正则表达式方面的帮助 [重复语法错误?]

我已经使用这个工具在线测试了正则表达式。使用给定的正则表达式字符串和工具的示例文本<span style="foo">Bar</span>说,应该在字符串中找到正则表达式。然而,在我的 Qt 代码中,我从来没有进入我的 while 循环。

我以前真的从未在 Qt 或任何其他语言中使用过正则表达式。有人可以提供一些帮助吗?谢谢!

[编辑] 所以我刚刚发现 QRegExp 有一个函数errorString()可以在正则表达式无效时使用。我输出这个并看到:“错误的重复语法”。不太清楚这意味着什么。当然,谷歌搜索“错误的重复语法”会带来......这篇文章。该死的谷歌,你快。

0 投票
1 回答
364 浏览

c++ - QRegExpValidator 参数

如果我写以下内容:

这里是什么this意思?它指的是什么?如果我不使用它会产生什么影响?

0 投票
1 回答
477 浏览

c++ - QRegExp 包含换行符,输入

我不知道如何使用QRegExp. 我正在尝试从中删除选定的字符,QString但不知道如何将其编写为正则表达式,从未使用过这些字符:( 我想删除所有换行符、输入|、、、和。¦§

谢谢

ps:我想用QString & QString::remove ( const QRegExp & rx )而不是QString & QString::remove ( const QString & str, Qt::CaseSensitivity cs = Qt::CaseSensitive )几次。

0 投票
1 回答
1064 浏览

qt - Qt“QTextEdit”函数

好吧,我正在做一个IDE系统。基本上,一切正常。虽然,但我有一个问题。“QTextEdit”类没有用于自动完成的成员“setCompleter”。正确的?

那么,是否有一些类支持它,包括所有 QTextEdit 成员?

PS:有更好的自动完成方法吗?我以前问过这个,但我听说你可以用 QReg 来做,但不知道。

谢谢!

0 投票
3 回答
3665 浏览

regex - 捕获多个文本。

我有正则表达式的问题。

考虑我们有一个字符串

“sometexts”的数量是未知的,它是用户的输入,可以从 1 到 ..例如 1000 不等。

[sometext] 是一些字符序列,但每个字符都不是“,”,所以,我们可以说 [^,]。

我想通过一些正则表达式捕获文本,然后循环遍历文本。

例如,如果某些文本的数量是 3,我们可以使用这样的东西:

所以,我不知道该写什么来代替“???” 对于任意 n。我正在使用 Qt 4.7,我没有在类参考页面上找到如何执行此操作。
我知道我们可以通过没有正则表达式的循环或在循环中生成正则表达式本身来做到这一点,但这些解决方案不适合我,因为实际问题比这更复杂..

0 投票
1 回答
1222 浏览

c++ - QRegExp 只是不匹配!请告诉我我做错了什么

我目前正在 Mac 上开发 Qt C++ 应用程序。在整个应用程序中,我经常使用字符串模式匹配。使用 QRegExp 类时,我总是遇到一些我不理解的问题!!!

我的 QRegExp 看起来像这样:

它应该匹配文件名中的“M1S02.C12”或“F4S14.C01”等模式。只要应该匹配的输入文件名不包含此模式的一部分,这就会很好地工作。

例如:我的输入文件名为“testItem_abcd_M1S03.C02_grade3”

返回假,而

返回 7,即“m”在“item”中的位置。

有人可以告诉我,我需要做什么才能使它匹配吗?

在此先感谢,吉他流

0 投票
3 回答
333 浏览

c++ - 恢复运行时 unicode 字符串

我正在构建一个应用程序,它通过 tcp 接收带有编码 unicode 的运行时字符串,示例字符串为“\u7cfb\u8eca\u4e21\uff1a\u6771\u5317 ...”。我有以下内容,但不幸的是,我只能在编译时从中受益,因为:不完整的通用字符名称 \u 因为它在编译时需要 4 个十六进制字符。

我正在寻找运行时的解决方案,我可以预见到分解这些字符串并进行一些操作以将“\u”分隔符之后的那些十六进制转换为基数 10,然后将它们传递给 QChar 的构造函数,但我正在寻找如果存在更好的方法,因为我非常担心这种方法所产生的时间复杂度并且不是专家。

有没有人有任何解决方案或提示。