C++ 如何删除'\n';在我的正则表达式中?
我有以下案文:C++ 如何删除'\n';在我的正则表达式中?,c++,regex,C++,Regex,我有以下案文: "('John', 0.55)\n" 正则表达式:[^\n]([A-z]+) 我只想保留John的名字(没有引用或其他任何东西)。 我设法得到了John,但不幸的是我也得到了\n: 如何删除后者 谢谢您可以使用: ([a-zA-Z0-9]+)(?:.|\\r?\\n)* 在我的机器上uqing Qt(正如您所指出的C++) 约翰回答说 QRegExp re("[A-Za-z]+"); QString a = "('John', 0.55)\n"; int pos = re
"('John', 0.55)\n"
正则表达式:[^\n]([A-z]+)
我只想保留John的名字(没有引用或其他任何东西)。
我设法得到了John,但不幸的是我也得到了\n:
如何删除后者
谢谢您可以使用:
([a-zA-Z0-9]+)(?:.|\\r?\\n)*
在我的机器上uqing Qt(正如您所指出的C++)
约翰回答说
QRegExp re("[A-Za-z]+");
QString a = "('John', 0.55)\n";
int pos = re.indexIn(a);
QStringList list = re.capturedTexts();
qDebug()<<"list: "<<list;
QRegExp re(“[A-Za-z]+”);
QString a=“('John',0.55)\n”;
int pos=re.indexIn(a);
QStringList list=re.capturedTexts();
qDebug()如果字符串始终以“(”开头,则可以使用此字符串:
(?<=(?:["(']{3}))[A-Za-z0-9_]+
([A-Za-z]+
就足够了。请注意。您的字符串有一个换行符,而不是\n
(您的正则表达式小提琴是错误的)。@WiktorStribiżew我在end@WiktorStribiżew在我通常写的旁注上[a-z],似乎已经包含了所有的大写字母和小写字母,那么[a-Za-z]是怎么写的呢不同?如链接答案中所述,[A-z]
还捕获ASCII码介于z
和A
之间的非字母,而[A-Za-z]
仅捕获字母。