import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(.*(?!\\s))(?:(?<!\\s\\s)\\:\\s+)((?:[\\-\\+])?\\d+\\.\\d+|\\w+$|[\\-\\+]\\d+|\\w+\\s\\d+)";
final String string = "Beam Number : 2\n"
+ "Beam Name : CCW\n"
+ "Original MU : 1995.39040729\n\n"
+ "Logging Scale : IEC 1217\n"
+ "X1 (Cms): -2.50\n"
+ "X2 (Cms): +2.20\n"
+ "Y1 (Cms): -2.60\n"
+ "Y2 (Cms): +2.50\n"
+ "Gantry Rotation Angle (deg): 87.73\n"
+ "Energy : 6x\n"
+ "MU1 : 1007.63\n"
+ "MU2 : 1009.05\n"
+ "Radiation Time (mins): 1.6807\n"
+ "DoseRate (MU/min): 598.32\n"
+ "PFN High Voltage Power Supply Current (A): 1.908875\n"
+ "PFN Actual Voltage (KV): 18.21791\n"
+ "RF Driver Voltage (V): 4.365\n"
+ "RF Forward Power (W): 1.516418\n"
+ "AFC Error (V): -0.000601778\n"
+ "Gun Current (A): 0.3430939\n"
+ "Gun High Voltage (V): -14965\n"
+ "Gun Grid Voltage (V): 97.55565\n"
+ "Gun Filament Step Voltage (V): 5.300003\n"
+ "Gun Filament Voltage (V): 5.405273\n"
+ "Bend Magnet Current (A): 16.18042\n"
+ "Bend Magnet Voltage (V): 2.283325\n"
+ "Accelerator Solenoid Current (A): 34.95636\n"
+ "Klystron Solenoid Current (A): 34.95789\n"
+ "Radial Symmetry (%): 0.00045321\n"
+ "Transverse Symmetry (%): 0.00044355\n"
+ "Target Current (nC): 315.4927\n"
+ "Buncher Radial Current (A): 0.005020142\n"
+ "Buncher Transverse Current (A): -0.06005859\n"
+ "Angle Radial Current (A): 0.005279541\n"
+ "Angle Transverse Current (A): 0.06143188\n"
+ "Position Radial Current (A): -0.8885803\n"
+ "Position Transverse Current (A): -0.5808258\n"
+ "Trim : (A) -0.06399536\n"
+ "Accelerator Vacion Current (uA): 0.009002686\n"
+ "Positive 5V dc: 4.993916\n"
+ "Positive 24V dc: 24.4706\n"
+ "Analog Negative 5V dc: 5.054981\n"
+ "Analog Positive 5V dc: 4.97241\n"
+ "Negative 12V dc: 12.24357\n"
+ "Positive 3V dc: 3.303525\n"
+ "Node Power Supply Voltage (V): 24.58121\n"
+ "Water Level : Normal\n"
+ "City Water Temperature (deg C): 20.54332\n"
+ "Internal Water Supply Temperature (deg C): 40.51909\n"
+ "Gas Pressure (PSI): 32.3421";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html