none
Regex 取字串問題 RRS feed

  • 問題

  • 請問有誰可以幫我取出下面字串成兩段嗎

    我用 (<System_Expection_\w*>.*)(?:<System_Expection_\w*>) 都只能取到第一段

    第一段
    <System_Expection_Message>[CR][LF] [LF]----------------------------------------------- [LF][CR][LF]無效的物件名稱 'SOLDMACH'。[CR][LF][CR][LF][CR][LF]

    第二段
    <System_Expection_StackTrace>[CR][LF]-----------------------------------------------[CR][LF]   於 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)[CR][LF]   於 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)[CR][LF]   於 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)[CR][LF]   於 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)[CR][LF]   於 System.Data.SqlClient.SqlDataReader.ConsumeMetaData()[CR][LF]   於 System.Data.SqlClient.SqlDataReader.get_MetaData()[CR][LF]   於 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)[CR][LF]   於 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)[CR][LF]   於 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)[CR][LF]   於 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)[CR][LF]   於 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)[CR][LF]   於 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)[CR][LF]   於 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)[CR][LF]   於 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)[CR][LF]   於 System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)[CR][LF]   於 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)[CR][LF]   於 PlugIn.Application_Server.CreateIdentField(Hashtable IdentHash, Hashtable FHash, TransactionItem TR) 於 D:\Visual Studio Projects 2008\APServer\SAPServer\Plug-In\Application_Server\Cmd\APS_TRAN.cs: 行 832[CR][LF]   於 PlugIn.Application_Server.APS_WTBL(String[] CodeIndex) 於 D:\Visual Studio Projects 2008\APServer\SAPServer\Plug-In\Application_Server\Cmd\APS_WTBL.cs: 行 90 [CR][LF][CR][LF][CR][LF][CR][LF][CR][LF]<System_Expection_Message>[CR][LF] [LF]----------------------------------------------- [LF][CR][LF]無效的物件名稱 'SOLDMACH'。[CR][LF][CR][LF][CR][LF]


    <System_Expection_Message>
     
    -----------------------------------------------

    無效的物件名稱 'SOLD'。


    <System_Expection_StackTrace>
    -----------------------------------------------
       於 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
       於 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
       於 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
       於 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
       於 System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
       於 System.Data.SqlClient.SqlDataReader.get_MetaData()
       於 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
       於 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
       於 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
       於 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
       於 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
       於 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
       於 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
       於 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
       於 System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
       於 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
       於 PlugIn.Application_Server.CreateIdentField(Hashtable IdentHash, Hashtable FHash, TransactionItem TR) 於 D:\Visual Studio Projects 2008\APServer\SAPServer\Plug-In\Application_Server\Cmd\APS_TRAN.cs: 行 832
       於 PlugIn.Application_Server.APS_WTBL(String[] CodeIndex) 於 D:\Visual Studio Projects 2008\APServer\SAPServer\Plug-In\Application_Server\Cmd\APS_WTBL.cs: 行 90

     


    MVP 2004
    2009年12月22日 下午 03:37

解答

  • Hi,

    這是你要的嗎?
    (<System_Expection_\w*>[^<>]*)

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 Kevinst Wu 2009年12月29日 下午 04:44
    2009年12月22日 下午 04:00

所有回覆

  • Hi,

    這是你要的嗎?
    (<System_Expection_\w*>[^<>]*)

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 Kevinst Wu 2009年12月29日 下午 04:44
    2009年12月22日 下午 04:00
  • 感謝
     
    不過我要的是下面
    (<\w*>)(<\w*>|[^<>]*)
     
     
    多謝你的靈感,讓我可以修改我原本的(因為抓不到最後一個 <> 標籤內的東西) 多虧了 [^<>]* 這個
    (<System_Expection_\w*>)(.*?)(?=(?:\s*<System_Expection_\w*>))
    MVP 2004
    2009年12月29日 下午 04:42