[ruby-list:50660] [質問] gsub 正規表現後方参照
From:
<yamataka@...08.itscom.net>
Date:
2018-04-25 05:47:14 UTC
List:
ruby-list #50660
山口と申します。 gsub 正規表現の後方参照が、うまく動作せずに悩んでおります。 下記[コード]のline文字列中のCustom field (....) の部分、.... だけにした く、 gsub を利用し、 line.gsub(/Custom field \(\w+( \w+)*\)/, '\1') としたのですが... 正規表現中の() で囲まれた部分が、\1 の後方参照で置き換わらなくて悩んでお ります。 ご教示いただけますでしょうか? [コード] require 'pp' line = 'Issue key,Issue id,Issue Type,Priority,Custom field (Defect_Rank) ,Custom field (Frequency),Status,Labels,Custom field (FixType),Custom field (CancelType),Summary,Custom field (CauseDetails),Custom field ( JudgementDetails),Reporter,Assignee,Created,Custom field ( DefectiveFunction),Custom field (Detection Phase),Component/s,Component/ s,Component/s,Custom field (DetectedDate),Custom field (Summary keyword1) ,Custom field (Summary keyword2),Custom field (Judgement),Resolved, Custom field (Settlement)' pp line pp line.gsub(/Custom field \(\w+( \w+)*\)/, '@@@') # => 結果より、正規表 現の記述は間違っていない。 pp line.gsub(/Custom field \(\w+( \w+)*\)/, '\1') # => 正規表現中の() で囲まれた部分が、\1 なので置き換わるはずが... [結果] "Issue key,Issue id,Issue Type,Priority,Custom field (Defect_Rank), Custom field (Frequency),Status,Labels,Custom field (FixType),Custom field (CancelType),Summary,Custom field (CauseDetails),Custom field ( JudgementDetails),Reporter,Assignee,Created,Custom field ( DefectiveFunction),Custom field (Detection Phase),Component/s,Component/ s,Component/s,Custom field (DetectedDate),Custom field (Summary keyword1) ,Custom field (Summary keyword2),Custom field (Judgement),Resolved, Custom field (Settlement)" "Issue key,Issue id,Issue Type,Priority,@@@,@@@,Status,Labels,@@@,@@@, Summary,@@@,@@@,Reporter,Assignee,Created,@@@,@@@,Component/s,Component/ s,Component/s,@@@,@@@,@@@,@@@,Resolved,@@@" "Issue key,Issue id,Issue Type,Priority,,,Status,Labels,,,Summary,,, Reporter,Assignee,Created,, Phase,Component/s,Component/s,Component/s,, keyword1, keyword2,,Resolved,"