Я бы предложил разделить регулярное выражение с последующей заменой регулярного выражения:
String mebo = "1323 99BIMCP 1 2 BMWQ-CSPS-D1, 0192, '29229'";
String[] parts = mebo.split("\\s*,?\\s+");
for (String part : parts) {
System.out.println(part.replaceAll("[']", ""));
}
1323
99BIMCP
1
2
BMWQ-CSPS-D1
0192
29229
Логика здесь заключается в разделении на пробельные символы, возможно, включая разделитель запятых.Затем мы можем выполнить замену регулярных выражений, чтобы удалить случайные символы, такие как одинарные кавычки.Двойные кавычки и любые другие нежелательные символы могут быть легко добавлены к классу символов, используемому для замены.
В общем, одного только регулярного выражения здесь может быть недостаточно, и вам может понадобиться парсер, чтобы охватить каждый случай ребра.В качестве примера рассмотрим следующую строку ввода:
One, "Two or more", Three
Мой ответ здесь не удаётся, потому что он слепо разделяется на пробел и не знает, что пробел, оставшийся пробел, не является токеном.Регулярное выражение также не будет выполнено здесь.