0
我正在使用C++下的Boost庫來解析文本的負載。我似乎有這個字符串Boost正則表達式不正確的語法
text text text Seat 6: player_name (11,111) text text text
我想匹配的中間位,座位號可以是1到9之間的任何一個問題,PLAYER_NAME可以是任何字符A-ZA-Z和包括數字* _。和括號中的值可以是0到1,000,000,應該包括','
我有這個正則表達式在c#中工作,但不會在boost下工作,它不匹配,我不明白爲什麼在我的RegexBuilder它的回來是正確的:
Seat (?<seat_id>[0-9]): (?<player_name>[A-Z0-9]{1,}) (?<stack_size>\([0-9,]{1,}\))
任何想法?我將會忽略<>,因爲我只是想匹配字符串而不用擔心個別值。
謝謝,R.快樂holloween。
謝謝,icase信息非常有用。出於某種原因,它在正則表達式的最後部分失敗,它似乎不喜歡\([0-9,] {1,0} \),我不知道我錯在哪裏。它可以是從100到1,000,000的值。出於某種原因,我無法讓它匹配,不知道爲什麼。啊,regex_search也是我正在尋找...謝謝。 – flavour404 2010-10-30 07:42:29
您之前沒有寫過「{1,0}」。你只會說'{1,}'。這個新值意味着你至少需要一位數字,但不能超過零。這顯然從來不匹配任何東西如果你想說「一個或多個」,那麼通常只寫'+'。我擔心你實際上不知道你的目標是什麼,因爲你在描述它時如此不一致。 (座位號應該是「1到9之間的任何值」,但是正則表達式中的[[0-9]'。堆棧大小「可以是0到1,000,000」,或者「從100到1,000,000」)大寫字母數字計數。 )退一步找出你需要的東西。 *然後*編寫代碼。 – 2010-10-30 09:54:46