问题标签 [qregularexpression]

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 回答
105 浏览

c++ - 将 QRegularExpression 应用于句子时避免使用 \r

我提取了以下句子:

非常重要的一点。这应该在我们下次会议上讨论。

从以下行:

ID:1 x:1202 y:2453 w:242 h:459 wn:13 ln:12 c:非常重要的一点。这应该在我们下次会议上讨论。

使用这个 QRegularExpression:

但是,输出是:

非常重要的一点。应该在我们下次会议上讨论。\r

\r 的存在是很正常的,因为我正在使用的行是写在一个文本文件(Windows 8.1 操作系统)中的。

你知道如何在结果输出中没有“\r”的情况下提取句子吗?我真的不知道。

非常感谢你的帮助

0 投票
1 回答
499 浏览

c++ - 使用 QRegularExpression 从句子中提取十进制数

我目前正在尝试提取以下十进制数:

2453.6756667756

从下面的句子:

ID:1 x:1202 y:2453.6756667756 w:242

我正在使用这段代码:

但是它给了我这个结果:

6756667756

这根本不正确。

请问你能帮帮我吗 ?

0 投票
2 回答
1142 浏览

c++ - Qt / QRegularExpression - 无法捕获所有结果,只有第一个实例,为什么?

我正在尝试获取一些被<td>标签包围的文本。我的问题是我只能获取第一个结果,而无法获取其他结果。

从以下 HTML 中,我只得到第一个结果,即此文本:

学生姓名

但是所有其他捕获其余所需文本的尝试都是空的,null。为什么会这样&我做错了什么?

用于正则表达式的文本:


我的代码:

0 投票
1 回答
1638 浏览

c++ - Qt中的正则表达式

我正在使用 Qt5.6。

我需要在串口中处理传入的数据,数据的格式为“AD=+172345AD=+272345”等等。我将传入的数据附加到 aQString并使用正则表达式提取小数。

如果我写一个正则表达式:

它不匹配,即 tmp 始终为 -1。但是我在这里测试了正则表达式,发现它是有效的。可能是什么问题?

0 投票
1 回答
322 浏览

c++ - 在 Qt5 中处理 QRegularExpressions 中的重音字母

我正在接受用户全名的输入QLineEdit,我想接受

所有国际字符

例如法语中的“é”或挪威语中的“æ”、“ø”和“å”,同时QRegularExpressionValidator用于确保名称实际上是有效名称(没有非字母字符)。

所以问题是,我是否必须详尽地列出所有这些重音字符,或者是否有某种可以使用的“词类”,让我相信 Qt 会为我提供更新的列表?

最好的方法是什么?

0 投票
2 回答
56 浏览

regex - 如何获得这个正则表达式

我有这段代码:

...我想得到这部分:

我该怎么做?我试过这个:

...但第一个[^<]不起作用,因为它只识别这个:

0 投票
1 回答
301 浏览

c++ - QRegularExpression 是否删除反向引用(并因此更快地搜索)

粗略查看文档QRegexp表明它支持反向引用,但QRegularExpression没有提及它。这将是值得注意的,因为没有反向引用的正则表达式匹配可以线性时间缩放,而包括反向引用则以指数时间缩放(源 [dead link]缓存版本)。

一个类似的 StackOverflow答案也提到主要区别在于执行速度。考虑到新的正则表达式类可以采用一种新算法是合乎逻辑的,这将允许它在线性时间内进行搜索,但是,我对此没有直接的了解。新类中是否有与上述类似的差异QRegularExpression

0 投票
1 回答
285 浏览

c++ - 如何使用 qt 获取复杂的子字符串?

我正在研究 QT 和 c++。作为测试项目的一部分,我需要从复杂而长的字符串中获取子字符串,基本上它是网页的来源。如果我的问题看起来很琐碎,那是因为我是一个天真的 qt 程序员并且对正则表达式的经验较少。

字符串: "url_encoded_fmt_stream_map":"type=video%2Fwebm%3B+codecs%3D%22vp8.0%2C+vorbis%22\u0026quality=medium\u0026itag=43\u0026url=https%3A%2F%2Fr2---sn-ci5gup-qxaz.googlevideo.com%2Fvideoplayback%3Fmime%3Dvideo%252Fwebm%26key%3Dyt6%26initcwndbps%3D386250%26pcm2cms%3Dyes%26requiressl%3Dyes%26signature%3D05FB41F2F904FF5448FC48484C0D81AB0745519F179CBF4468D2412C2240DC72F0%26ratebypass%3Dyes%26fexp%3D3300119%252C3300131%252C3313268%252C9405961%252C9416126%252C9416891%252C9419451%252C9422342%252C9422596%252C9427790%252C9428398%252C9431012%252C9433096%252C9433380%252C9433855%252C9433946%252C9434332%252C9435526%252C9435667%252C9435876%252C9436270% 252C9436607%252C9436834%252C9436872%252C9436973%252C9437066%252C9437553%252C9437742%252C9438326%252C9439652%252C9439979%252C9440048%252C9440552%252C9440651%26ms%3Dau%26mt%3D1467900993%26sparams%3Ddur%252Cid%252Cinitcwndbps%252Cip%252Cipbits%252Citag%252Clmt% 252Cmime%252Cmm%252Cmn%252Cms%252Cmv%252Cpcm2cms%252Cpl%252Cratebypass%252Crequiressl%252Csource%252Cupn%252Cexpire%26mv%3Dm%26ip%3D182.68.203。45%26id%3Do-AMB0Fggb71vKhXSdQqcOPdLeb9v0n2GaibsWg_W5L5b7%26mm%3D31%26mn%3Dsn-ci5gup-qxaz%26upn%3Dfri9F8GP9uA%26source%3Dyoutube%26itag%3D43%26pl%3D20%26lmt%3D1445550849945309%26expire%3D1467922869%26sver%3D3%26ipbits% 3D0%26dur%3D0.000,type=video%2Fmp4%3B+codecs%3D%22avc1.42001E%2C+mp4a.40.2%22\u0026质量=中等\u0026itag=18\u0026url=https%3A%2F%2Fr2---sn-ci5gup-qxaz.googlevideo.com%2Fvideoplayback%3Fmime%3Dvideo%252Fmp4%26key%3Dyt6%26initcwndbps%3D386250%26pcm2cms%3Dyes%26requiressl%3Dyes%26signature%3D4C90C634A1736804965872A17376F68BDA4D4AB7172922F499596226BA335BDF0B4519A4AC6%26ratebypass%3Dyes%26fexp%3D3300119%252C3300131%252C3313268%252C9405961%252C9416126%252C9416891%252C9419451%252C9422342%252C9422596%252C9427790%252C9428398%252C9431012%252C9433096%252C9433380%252C9433855%252C9433946%252C9434332%252C9435526%252C9435667%252C9435876%252C9436270% 252C9436607%252C9436834%252C9436872%252C9436973%252C9437066%252C9437553%252C9437742%252C9438326%252C9439652%252C9439979%252C9440048%252C9440552%252C9440651%26ms%3Dau%26mt%3D1467900993%26sparams%3Ddur%252Cid%252Cinitcwndbps%252Cip%252Cipbits%252Citag%252Clmt% 252Cmime%252Cmm%252Cmn%252Cms%252Cmv%252Cpcm2cms%252Cpl%252Cratebypass%252Crequiressl%252Csource%252Cupn%252Cexpire%26mv%3Dm%26ip%3D182.68.203。45%26id%3Do-AMB0Fggb71vKhXSdQqcOPdLeb9v0n2GaibsWg_W5L5b7%26mm%3D31%26mn%3Dsn-ci5gup-qxaz%26upn%3Dfri9F8GP9uA%26source%3Dyoutube%26itag%3D18%26pl%3D20%26lmt%3D1465194153116908%26expire%3D1467922869%26sver%3D3%26ipbits% 3D0%26dur%3D207.354,type=video%2F3gpp%3B+codecs%3D%22mp4v.20.3%2C+mp4a.40.2%22\u0026quality=small\u0026itag=36\u0026url=

上面的字符串是我完整字符串和类似模式的很大一部分。这个网页源有许多我需要分开的编码网址。下面是我想要分开的。

子字符串:

https%3A%2F%2Fr2---sn-ci5gup-qxaz.googlevideo.com%2Fvideoplayback%3Fmime%3Dvideo%252Fwebm%26key%3Dyt6%26initcwndbps%3D386250%26pcm2cms%3Dyes%26requiressl%3Dyes%26signature%3D05FB41F2F904FF5448FC48484C0D81AB0745519F179CBF4468D2412C2240DC72F0%26ratebypass%3Dyes%26fexp%3D3300119%252C3300131%252C3313268%252C9405961%252C9416126%252C9416891%252C9419451%252C9422342%252C9422596%252C9427790%252C9428398%252C9431012%252C9433096%252C9433380%252C9433855%252C9433946%252C9434332%252C9435526%252C9435667%252C9435876%252C9436270% 252C9436607%252C9436834%252C9436872%252C9436973%252C9437066%252C9437553%252C9437742%252C9438326%252C9439652%252C9439979%252C9440048%252C9440552%252C9440651%26ms%3Dau%26mt%3D1467900993%26sparams%3Ddur%252Cid%252Cinitcwndbps%252Cip%252Cipbits%252Citag%252Clmt% 252Cmime%252Cmm%252Cmn%252Cms%252Cmv%252Cpcm2cms%252Cpl%252Cratebypass%252Crequiressl%252Csource%252Cupn%252Cexpire%26mv%3Dm%26ip%3D182.68.203。45%26id%3Do-AMB0Fggb71vKhXSdQqcOPdLeb9v0n2GaibsWg_W5L5b7%26mm%3D31%26mn%3Dsn-ci5gup-qxaz%26upn%3Dfri9F8GP9uA%26source%3Dyoutube%26itag%3D43%26pl%3D20%26lmt%3D1445550849945309%26expire%3D1467922869%26sver%3D3%26ipbits% 3D0%26dur%3D0.000,type=video%2Fmp4%3B+codecs%3D%22avc1.42001E%2C+mp4a.40.2%22

请帮助并建议我如何使用 QT、C++、正则表达式来做到这一点。我不想使用任何其他编程语言。感谢和问候。

0 投票
1 回答
1794 浏览

qt - QRegExp 用于 QT 中 QlineEDit 的 IP 地址

当我想将 IP 地址输入 QlineEdit 控件时,我们如何验证 QlineEdit 控件,该控件应该只允许 IP 地址。不允许任何字母,除点(。)以外的字符所有部分应在 0-255 范围内

IP 地址包含四部分,必须三个点(。):第一部分应包含 3 位数字。(必须)第二部分应包含最少 1 位数字和最多 3 位数字。第三部分应包含最少 1 位数字和最多 3 位数字。四部分应包含最少 1 位数字。

例如:122.234.245.211 121.112.112.44 255.255.136.132 133.231.123.2 255.0.0.0 121.0.0.23

下面的 ADDRESS 不应该接受:应该给出 errorMessage 框

例如:24.253.321.422 442.445.552.444 23535.35.353.33 3532.333.332

0 投票
2 回答
8327 浏览

qt - Qt QLineEdit 输入验证

如何设置输入验证器以QLineEdit将其限制为有效的 IP 地址?ixxxx 其中 x 必须介于 0 和 255 之间。并且 x 不能为空