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

c++ - 用于 HTML 图像标签的 QRegExp

首先,我只想说,我知道对 HTML 使用正则表达式是个坏主意。我只是用它来获取<img>标签信息,所以我不关心嵌套等。

话虽如此,我正在尝试获取src网页中所有图像的 URL。但是,我似乎只得到第一个结果。是我的正则表达式,还是我使用它的方式?我的正则表达式技能有点生疏,所以我可能会遗漏一些明显的东西。

当我点击foreach循环时,imgTagList它只包含 1 个字符串。对于“古埃及的猫”维基百科页面,它包含:

这就是我想要的,但我知道页面上有更多的图像标签......任何想法为什么我只得到第一个回来?


更新

在 Sebastian Lange 的帮助下,我能够做到这一点:

最后split是摆脱<img>标签中非 src 元素的一种 hacky 方式,因为看起来我无法仅获取src="..."段内的数据。它可以工作,但这只是因为我无法以正确的方式进行工作。我还添加了一些东西来标准化

0 投票
2 回答
2589 浏览

c++ - 使用 QRegExp 替换 QString 中的单词

我有一个包含保留字列表的 QString。我需要解析另一个字符串,搜索第一个字符串中包含的任何单词,并以 '\' 开头并修改这些单词。

例子:

我知道我必须使用 QRegExp,但是我没有找到如何使用 QRegExp 来检查一个单词是否在我声明的列表中。你们能帮帮我吗?

提前致谢

0 投票
3 回答
1803 浏览

regex - 将两位小数添加到数字范围正则表达式

我创建了一个正则表达式来验证 -359 到 +359 之间的度数方向(带有可选符号)。这是我的正则表达式:

现在,我想添加两个十进制数,以便写入从 -359.99 到 +359.99 的数字。我试过像附加 \.[0-9]{1,2}|[0-9]{1,3} 但它不起作用。

我想有可选的小数点,所以我可以

我已经阅读了其他一些问题,例如这个问题,但我无法修改示例以匹配数字范围,就像我的情况一样。我怎样才能达到这个结果?

提前感谢您的回复。

怎样才能做到这一点?

0 投票
2 回答
547 浏览

regex - QRegexp 和百分号 (%) 符号

我正在尝试在模板中匹配 %foo% 形式的字符串。上下文:目标是用存储过程返回中列 foo 的值替换 %foo%。

我不能让它工作。一开始我认为我的模板的 UTF8 编码是我麻烦的根源。但即使是下面的也失败了:

输出:

我只想捕获 foo,而不是 '%'

0 投票
1 回答
156 浏览

qt - 如何打印 QRegExp

我有一个 QRegExp 对象列表,这些对象在应用程序的一部分中创建,并在其他部分使用。它们的创建方式如下:

并使用如下:

在我使用它的地方,我想看到我试图使用的表达式的“模式”......

如何打印 QRegExp?

0 投票
1 回答
3608 浏览

c++ - C ++ Qt - {括号}之间的QString remove()正则表达式

我尝试了以下正则表达式来删除括号之间的 {anything} (希望括号本身)!

没有任何东西被删除

0 投票
1 回答
246 浏览

c++ - 在双括号 QString 之间只选择一个选项

我想清理 QString 数据以具有以下内容:

输入

输出

只需选择每个子括号中的第一个元素就可以了。我不确定这样做的最佳方法是什么?

另外,我使用的是 Qt 4,所以这需要由 QRegExp 完成。

0 投票
1 回答
4350 浏览

regex - QRegExp not extracting text as expected

I am trying to extract text from between square brackets on a line of text. I've been messing with the regex for some time now, and cannot get what I need. (I can't even explain why the output is what it is). Here's the code:

The input line is:

And the output is:

  1. Can someone explain what is going on? Why is cap returning "." when no such character exists between square brackets
  2. Can someone correct the regex to extract the timestamp from between the square brackets?
0 投票
1 回答
248 浏览

c++ - RegExp 查找命令行参数

我正在开发一个终端程序以在远程机器上执行应用程序。您可以像在 windows cmd.exe 中一样传递命令,例如:

为了使这成为可能,我必须处理带引号的文本并从该字符串中解析命令及其参数。在记事本++中,我找到了一个正则表达式来修补它们(([^" \t\n]+)|("[^"]*"))+并且它可以工作。在Qt4.8.1我试过:

这段代码只打印了我 3 次,仅此"C:\random Directory\datApplication.py"而已。它应该打印出作为单个对象输入的每个参数...

我该怎么做才能让它工作?

解决方案:(感谢 Lindrian)

0 投票
1 回答
1283 浏览

qt - 使用代理模型排序

我有一个小问题。

我正在使用带有简单文本项、行选择和 QSortFilterProxyModel 模型的 QTableView。我重新实现了这个:

例如,我的表包含数字,它有 3 行。如果我要为我的过滤器设置任何值(在弹出框 fe 中),我想在我的表格中只显示带有这个数字的行:

1 2 3

4 5 6

7 8 9

设定值:5

4 5 6

我试过这个:

但什么都没有改变。所以帮助我,我必须如何正确使用这个代理模型?

对不起,我的英语不好。

编辑: