1

RegExpの問題を解決しようとしています。パターンの 80% を見つけました。誰かが残りの 20% で私を助けてくれれば、大いに役立つでしょう。

例: 文字列:

var str = "Digital Presentation;Stadium Seating (11:05 AM), (1:40), 4:30, 7:30, 10:50 PM"; 

これまでの私のパターン:

var patt = /[^0-9|:|,|\b\sAM\b|\b\sPM\b]/g;

為に:

var result = str.replace(patt, '');

私が得るものは次のとおりです。

P 11:05 AM, 1:40, 4:30, 7:30, 10:50 PM

私の望ましい結果は次のとおりです。

11:05 AM, 1:40, 4:30, 7:30, 10:50 PM

JSFiddle: http://jsfiddle.net/QzYwu/1/

必要なのは、spaceAM と spacePM を一致させることだけです。代わりに、私のパターンでは、P、A、M、およびスペースのすべての出現に一致します。

別の文字列の例は次のとおりです。

Digital Presentation;Movies and Mimosas (11:00 AM)

私のパターンで得られるものは次のとおりです。

PM  M 11:00 AM

私が取得したいものは次のとおりです。

11:00 AM

前もって感謝します。

4

2 に答える 2

1

Danstahr の正規表現が機能するように修正

var timereg = /[0-9]{1,2}:[0-9]{1,2}( \b(AM|PM))?/g

"Digital Presentation;Stadium Seating (11:05 AM), (1:40), 4:30, 7:30, 10:50 PM".match(/[0-9]{1,2}:[0-9]{1,2}( \b(AM|PM))?/g)
//=> ["11:05 AM", "1:40", "4:30", "7:30", "10:50 PM"]
于 2013-11-04T14:02:59.423 に答える