fork(1) download
  1. using System;
  2. using System.IO;
  3. using System.Text.RegularExpressions;
  4.  
  5. public class Test
  6. {
  7. public static void Main()
  8. {
  9. var str = @"--8W1_805_431____0210_A01_0002_L--;%{PE}%R
  10. 8.2.24,%MKUKATPBASIS,%CCOMMENT,%VNORMAL,%P 2: --8W1_805_431____0210_A01_0002_L--
  11. ;ENDFOLD
  12.  
  13. ;FOLD PTP SG003920 Vel=100 % PDAT5 ServoGun=8 Cont=OPN Part=2.65 mm WeldTimer=WTDAT1 Tool[1]:zc1 Base[1]:510wz1;%{PE}%R 4.1.25,%MKUKATPSERVOTECH,%CSpotTC,%VPTP,%P 1:PTP, 2:SG003920, 3:, 5:100, 7:PDAT5, 9:1, 11:1, 13:OPN, 15:2.65, 18:1, 21:0, 24:0, 27:5, 30:0, 33:WTDAT1
  14. $BWDSTART=FALSE
  15. PDAT_ACT=PPDAT5
  16. FDAT_ACT=FSG003920
  17. BAS(#PTP_PARAMS,100)
  18. EG_SPOT_POINT_NAME[]=""SG003920""
  19. EG_EXTAX_ACTIVE=EG_SERVOGUN_EXAXIS[1]
  20. EG_THICKNESS=2.65
  21. EG_GUN_FORCE=1
  22. EG_COMP_HELP=0
  23. EG_COMPENSATE_PATH=0
  24. EG_PROGRAM_NUMBER=003920
  25. EG_HELPPOINT=EG_CHTIP(XSG003920)
  26. PTP EG_HELPPOINT
  27. EG_APPROX_OPEN=FALSE
  28. CMD=#SPOT
  29. EG_SPOT_POINT=EG_HELPPOINT
  30. EG_SPOT( WTWTDAT1 )
  31. PTP EG_HELPPOINT C_DIS
  32. CMD=#STOP_POINT_END
  33. EG_SPOT_POINT=EG_HELPPOINT
  34. EG_SPOT( )
  35.  
  36. ; --8W1_112_431____0210_A01_0001_L--;%{PE}%R 8.2
  37.  
  38. ;FOLD PTP SG003918 Vel=100 % PDAT7 ServoGun=1 Cont=OPN Part=2.65 mm WeldTimer=WTDAT2 Tool[1]:zc1 Base[1]:510wz1;%{PE}%R 4.1.25,%MKUKATPSERVOTECH,%CSpotTC,%VPTP,%P 1:PTP, 2:SG003918, 3:, 5:100, 7:PDAT7, 9:1, 11:1, 13:OPN, 15:2.65, 18:1, 21:0, 24:0, 27:5, 30:0, 33:WTDAT2
  39. $BWDSTART=FALSE
  40. PDAT_ACT=PPDAT7
  41. FDAT_ACT=FSG003918
  42. BAS(#PTP_PARAMS,100)
  43. EG_SPOT_POINT_NAME[]=""SG003918""
  44. EG_EXTAX_ACTIVE=EG_SERVOGUN_EXAXIS[1]
  45. EG_THICKNESS=2.65
  46. EG_GUN_FORCE=1
  47. EG_COMP_HELP=0
  48. EG_COMPENSATE_PATH=0
  49. EG_PROGRAM_NUMBER=003918
  50. EG_HELPPOINT=EG_CHTIP(XSG003918)
  51. PTP EG_HELPPOINT
  52. EG_APPROX_OPEN=FALSE
  53. CMD=#SPOT
  54. EG_SPOT_POINT=EG_HELPPOINT
  55. EG_SPOT( WTWTDAT2 )
  56. PTP EG_HELPPOINT C_DIS
  57. CMD=#STOP_POINT_END
  58. EG_SPOT_POINT=EG_HELPPOINT
  59. EG_SPOT( )
  60. ;ENDFOLD";
  61. var rx = new Regex(@"--(?<PName>8W.*?)--.*?(?<MType>PTP|LIN).*?(?<PointNa>SG)", RegexOptions.Singleline);
  62. var coll = rx.Matches(str);
  63. foreach (Match m in coll)
  64. Console.WriteLine(m.Groups["PName"].Value);
  65. }
  66. }
Success #stdin #stdout 0.12s 24720KB
stdin
Standard input is empty
stdout
8W1_805_431____0210_A01_0002_L
8W1_112_431____0210_A01_0001_L