- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
| 所以我尝试了: QRegExp("^[^\\/:*?\"<>|]*$") 这适用于除反斜杠之外的所有-6ren">
我想创建一个正则表达式来排除文件名中无效的字符。在 Windows 上,无效字符是/:*?"<>| 所以我尝试了:
QRegExp("^[^\\/:*?\"<>|]*$")
这适用于除反斜杠之外的所有字符。由于双反斜杠不起作用,我想我会看到如果我使用单个反斜杠会发生什么,但这给了编译器警告 warning: unknown escape sequence: '/' 并且没有修复问题。
如何修改正则表达式,以便在与 QRegExpValidator 一起使用时成功排除反斜杠字符?
顺便说一句,我这样做的原因是因为 QDir::rename() 似乎没有检查无效字符,所以如果输入了无效字符,文件将变得不可访问。限制用户可以输入的字符是避免这种情况的最佳解决方案,还是 QDir 提供了我错过的机制?
最佳答案
QRegExp("^[^\\\\/:*?\"<>|]*$")
或在 c++11 中使用原始字符串:
QRegExp(R"(^[^\\/:*?"<>|]*$)")
关于c++ - 使用 QRegExp 排除反斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36891039/
在我正在进行的项目中,我需要制作一个 QStringList在所有 QRegExp 中捕获其中 2 个的 except:第一个和另一个,取决于其他一些参数。 直接的方法是使用 QRegExp::cap
我对 QRegExp 类没有任何问题,但现在我有了一个。我的代码 QRegExp re("d class=\\.green\\.>([+,0-9]+)[.0-9]+[.0-9]++0.1069.769
我必须从qmake 项目文件中提取单行注释。规则很简单:注释以 # 符号开头,以换行符 \n 开头。所以我阅读了一些关于 QRegExp 的文档,并编写了这样的代码来打印 qmake 文件中的所有注释
我试图在回调函数中将字符串与 QRegExp 匹配。我正在使用 Qt 的 C++ 实现。我写了一个形式的正则表达式:Atmospheres.(\\d+).(latitude|longitude|rad
我正在开发一些 Qt 应用程序,其主窗口 由QPlainTextEdit 子类日志窗口 组成,用于输出事件。我有三种类型的消息: 信息消息,表示一个以[INFO]子串开头的QString 警告信息,表
我想将所有不包含这些字符“”、“=”的字符串与 QRegExp (Qt) 匹配。使用以下正则表达式,这是行不通的: "^[^>、=]).*$ 关于c++ - QRegExp 不符合预期,我们在Sta
我正在尝试使用正则表达式解析这些字符串,但我认为我的正则表达式语句不正确。 我得到一个字符串,每当它有换行符和回车符时,它们必须分成两个字符串。字符串具有以下格式 [CharSize][Inverte
我有一个由其他人制作的应用程序,我需要修复它。 View 上有一个图表和一个用于过滤图表的文本框,但过滤器不起作用。出于某种原因,QRegExp 找不到任何东西。 我正在使用 QT5.12.1 和 V
使用 Qt 框架的类,我们如何从字符串中删除换行符、回车符和多个空格。 输入: A quick fox run over the lazy dog 输出: A quick fox
我正在努力创建一个用于匹配字符串 (??) 的 QRegExp(即:一个左括号、两个问号和一个右括号,这应该是一个单独的词,所以在此之前和之后可以是空格、制表符、换行符),我想到的最接近的是 QReg
我正在尝试从此文本中提取“246”: Responsible: John Doe Number: 246 Date: 24-12-2005 使用 QRegExp,模式: (?:Number: )\d+
我正在解析一些字符串。如果我遇到类似“Foo(bar)”的东西,我想提取“Foo”和“bar” 如何使用 QRegExp 来实现? 最佳答案 首先,如果您使用的是 Qt 5,那么最好使用 QRegul
我有一个 QString“mystring”,它是从这个 shell 命令的返回值中捕获的: df /storage/sdcard0/ 捕获的字符串是: Filesystem
我有一个字符串。例如: QString myString = "Today is Tuesday"; 要求是:当用户键入一个字符串时,如果该字符串包含在myString中,那么myString中的那部
我正在为 QLineEdit 编写一个正则表达式检查器,我正在使用 QRegExp。 我已经写了一个 int 值检查器: QRegExp *expression_ = new QRegExp("^(0
我想像使用 QRegExp 一样过滤命令 /path/to/executable --long-parameter -s /path/which/has/a/space/and/a/dash/\ -e
我不知道如何使用 QRegExp。我正在尝试从 QString 中删除选定的字符,但不知道如何将其写为正则表达式,从未使用过这些字符 :( 我想删除所有换行符、回车符、|、¦、¶ 和 §。 谢谢 Ps
我的程序从命令行获取配置。命令行是这样的:“mapPath=Some_Path_Over_Here\npluginsPath=Other_Path_Over_Here\n”请注意中间和最后的“\n”。
我想知道/有一个 qregexp,它可以从一行中提取所有整数,但如果数字位于评论部分则停止提取 For Example { 20,100,0X0},/*this line contains 2
我需要验证在 qlineedit 中输入的文本是否具有正则表达式的形式,我尝试使用这个: void MainWindow::checkReg( QLineEdit& mail, const QChec
我是一名优秀的程序员,十分优秀!