Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何删除'\n';在我的正则表达式中?_C++_Regex - Fatal编程技术网

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]
仅捕获字母。