我打開一個文件,並找到我需要的線路,但後來我有麻煩從找到字符串如何提取值從線發現
70c 08:04:04.014 rexx TRACE 2203 8=4.4|9=892|35=J|49=ICE_SM_S|56=SM|34=280|70=0241608914160889|71=0|626=2|793=16|72=|466=1164266784|857=0|73=1|11=|37=1156426784|526=1156426674|38=1|198=1310883PTM|54=1|6=117.2100000000|336=R|625=P|55=B|461=FXXXXX|200=20120901|207=IFEU|53=1|30=ICE|453=2|448=SLM|447=C|452=7|448=FFC|447=C|452=12|75=20120210|60=20120310-09:04:04|77=O|58=CYU795|232=14|233=GL_TRADEJOBOUT|234=N|233=GL_ORDERJOBOUT|234=N|233=GL_TAKEN|234=0|233=GL_TRADETYPE|234=E|
這是字符串創建一個變量,我想將其分配到的tag198
一個變量,所以這將是
tag198 = '1310883PTMS'
任何不需要|
之後。
tag198 = line.match(/198=(.*)/)[1]
puts tag198
但是在198
之後保留所有值;我只需要|
之前的字符串。
我試過你的正則表達式'/ 198 =(。*)\ | /',它沒有正確匹配(與OP相同的問題)@ ctcherry的解決方案工作正常。 – Alex 2012-04-08 20:46:57
同意 - 剛剛更新了答案 – sgmorrison 2012-04-08 20:49:10
'line.match(/ 198 =(。*)\ | /)[1]'---仍然留下跟蹤 – 2012-04-08 21:29:52