问题标签 [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 投票
1 回答
248 浏览

c++ - 正则表达式在 QRegEx 中给出错误的匹配

我有以下函数,它应该给我来自正则表达式的匹配字符串:

我使用字符串*VALUE*作为输入来测试它。现在我得到以下结果:

哪个是对的。对于这种模式,它给了我第一个大写字符和长度 1。

但是当我使用这个时:

我不明白为什么。返回的索引是0,长度也是0。首先,索引当然是错误的,因为它应该是1. 然后我不明白0长度的含义。根据文档(http://qt-project.org/doc/qt-4.8/qregexp.html#pattern)要么存在匹配,则索引为正值,在这种情况下,我希望matchedLength()应该还返回一些值`> 0`。

我在这里误解了什么,或者这是 Qt 5.2.1 中的问题?

0 投票
0 回答
746 浏览

c++ - 从字符串中获取图像 URL

我正在尝试找出一种从网页源获取图像 url 的方法。我可以将网页源代码转换为字符串并逐行解析以找到带有 URL 的行。但是,我还没有找到一种只从线路中提取 URL 的好方法。我认为这可以用 QRegExp 完成,但一直无法弄清楚如何使用它。

我试图解析的行

最终工作代码

0 投票
0 回答
130 浏览

c++ - 具有 QRegExp 奇怪行为的 QString split() 函数

我有一些这样的文字:

我想按行拆分此文本,然后按制表符拆分。我正在使用QString split()函数并QRegExp以这种方式做到这一点:

但我得到的cols只是一项:

据我了解,第一次拆分将所有\t字符替换为\9. 但我不明白为什么以及如何解决这个问题。有什么解释吗?

0 投票
1 回答
686 浏览

c++ - 强制 QLineEdit 成为双精度值的集合

考虑这个问题。

我的工具中有一个 QLineEdit,我应该按如下方式组织支持。LineEdit 的文本必须只包含双精度值,以逗号分隔。Fe 6.2 , 8, 9.0, 55 我还必须验证,除了数字和逗号,用户不能输入任何其他字符。此外,我应该编写一个将此文本转换为矢量的方法。最初我想到了 QRegExp 和 boost::spirit。但是使用这些技术可能很困难。

有任何想法吗?

0 投票
2 回答
688 浏览

regex - 正则表达式 QRegExp

我需要 RegExp 表达式,它在句子中选择每个字母一次(不区分大小写)。你能帮助我吗?

输入字符串为:

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊。

结果必须是(以任何顺序):

abcdsz

UPD:好的,我明白了。没有 RegExp 解决方案。下面以编程方式解决。(Qt)

0 投票
1 回答
498 浏览

regex - 使用 QRegExp 在 Qt 中突出显示单词

我正在尝试使用 QRegExp 突出显示搜索的单词。

这是代码。

上面的代码可以工作,但是下面的代码不工作。

0 投票
2 回答
587 浏览

regex - 使用 QRegExp 查找特殊字符之间的字符串的正则表达式

我想在下面的字符串中 匹配Property NameandProperty value

#Property Name : Property Value

Property NameandProperty Value是单字/多字句子,只有数字和空格。其中没有特殊字符。

我试过了,(?<=#)(.*):(.*?)但它不起作用。我阅读了这个网站上的许多问题并尝试了它们,但似乎没有一个有效。

我希望答案使用QRegExpqt4 的(Qt 的 RegEx 类)

0 投票
1 回答
1259 浏览

utf-8 - QString QRegExp 删除特殊字符

我有一个包含以下格式的纬度/经度数据的 QString:

27° 34' 35.67" 45° 37' 28.34"

我希望能够剥离/删除所有特殊字符(°、'、"),但我无法使用以下代码执行此操作:

lat.remove(QRegExp(QString::fromUtf8("[\\°\'\"]")));

当我打印出 lat 的结果时,我得到:

纬度 = "27\260 34 35.67"

所以看起来它能够去除 ' 和 " 字符,但不能去除 ° 符号。

知道如何进行这项工作吗?我希望最终格式仅包含空格或 lat = "27 34 35.67"

0 投票
2 回答
14386 浏览

c++ - QRegularExpression 和 QRegExp 之间有什么区别吗?

我看到有一个新的正则表达式类 - QRegularExpression. 它只是 QRegExp 的 typedef,还是一个新类,还是什么?为什么我们需要它,我们已经有了 QRegExp?

0 投票
1 回答
1409 浏览

c++ - QRegExpValidator 最大值

我想使用 QRegExpValidator 来强制用户: - 仅输入某个范围内的值(双精度类型), - 应使用点而不是逗号输入双精度类型 - 不允许使用其他格式

到目前为止,我有:

这个验证器强制用户只输入带点的双精度值。但是,我不知道如何防止用户输入超出范围的值(例如范围为 0 到 100.0)。我会获得所有帮助。