none
關於正規化的疑問 RRS feed

  • 問題

  • 各位好,最近在處理一段字串時產生一些疑問與瓶頸,需要麻煩各位幫小弟解惑一下...

    原字串:

    220 mx.google.com ESMTP p9si21720466yho.314 - gsmtp 250 mx.google.com at your service 250 2.1.0 OK p9si21720466yho.314 - gsmtp 550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1 http://support.google.com/mail/bin/answer.py?answer=6596 p9si21720466yho.314 - gsmtp

    預期的結果:

    220 mx.google.com ESMTP p9si21720466yho.314 - gsmtp 
    250 mx.google.com at your service 
    250 2.1.0 OK p9si21720466yho.314 - gsmtp 
    550-5.1.1 The email account that you tried to reach does not exist. Please try 
    550-5.1.1 double-checking the recipient's email address for typos or 
    550-5.1.1 unnecessary spaces. Learn more at 
    550 5.1.1 http://support.google.com/mail/bin/answer.py?answer=6596 p9si21720466yho.314 - gsmtp

    有人建議我使用正規化,所以我嘗試了一下=> " (\d{3}[ -][a-z\d][a-z\.])"

    結果只能找出每段落的220 mx、250 mx、250 2.、550-5.、550-5.、550-5.、550 5.

    後面的字串都消失了...

    第一次寫正規化,寫的實在不好...

    請各位幫我解惑一下,我哪邊需要修改...

    感謝各位

    2013年7月14日 上午 08:14

所有回覆

  • 把空白字串加入你的第一段的規則中。

    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2013年7月14日 下午 05:16
  • 您好!

    下是我的想法:

    採用Regex.Split 然後用我寫的 (^\d{3}|\s\d{3}\s|\s\d{3}-)

    存為陣列,在去組合字串。(不過有個問題..不知道為啥多一個空字串....晚點研究)

    2013年7月15日 上午 04:03
  • 內容類似 RFC 定義交談訊息,標準訊息如下:

    [Code][空白][Message]


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2013年7月15日 下午 03:09
  • 感謝 心冷熱情熄 的回覆

    能否指導我如何修改呢?

    感謝您~

    2013年7月15日 下午 03:12
  • 感謝 yo_yo 的幫忙

    再麻煩了...

    我繼續找解決辦法...

    2013年7月15日 下午 03:14