2017-08-12 14 views
-1

私はこのテキストがあります。正規表現で ' n'を削除するには?

"('John', 0.55)\n" 

正規表現:[^\n]([A-z]+)

だけジョン(一切の引用符や)の名前を維持したいと思いますが。 私はジョンを手に入れることができましたが、残念なことに\ nも受け取ります: http://www.regextester.com/?fam=98328

後者はどうやって削除できますか?

おかげ

+0

'[A-ZA-Z]を+'十分です。 ['[A-Z]'は単なる文字以外のものにマッチすることに注意してください(http://stackoverflow.com/a/29771926/3832970)。あなたの文字列に '\ n'ではなく改行があります(あなたの正規表現のフィドルは間違っています)。 –

+0

@WiktorStribiżew私はまだ終わりにnを得る – gihidoma

+0

@WiktorStribiżewon sidenote私は通常、すべての大文字と小文字をキャプチャしているような[A-z]を書いている、[A-Za-z]はどのように違いますか? http://www.regextester.com/?fam=98329 – gihidoma

答えて

0

あなたは、この使用することができます(あなたがC++を示されているように)

[A-Za-z]+ジョン

QRegExp re("[A-Za-z]+"); 
QString a = "('John', 0.55)\n"; 

int pos = re.indexIn(a); 
QStringList list = re.capturedTexts(); 
qDebug()<<"list: "<<list; 

戻り値が返さのQtをuqing私のマシン上で

([a-zA-Z0-9]+)(?:.|\\r?\\n)* 
0

文字列がで常に起動している場合「(」あなたは、このいずれかを使用できます。

(?<=(?:["(']{3}))[A-Za-z0-9_]+ 
関連する問題