|
@@ -46,14 +46,14 @@ export class ReasonableSafeMedicine {
|
|
|
},
|
|
},
|
|
|
toString() {
|
|
toString() {
|
|
|
const parse = (value, highlight) => {
|
|
const parse = (value, highlight) => {
|
|
|
- const match = value.match(/^([^(\d]+)(\d+[g|克])?(?:\((.+)\))?$/);
|
|
|
|
|
|
|
+ const match = value.match(/^(.+?)(\d+(?:\.\d+)?[克Gg]?|反|畏|不宜与)?[((]([\s\S]*)[))]$/);
|
|
|
if (!match) return value;
|
|
if (!match) return value;
|
|
|
|
|
|
|
|
const [_, prefix = value, dosage, suffix] = match;
|
|
const [_, prefix = value, dosage, suffix] = match;
|
|
|
return [
|
|
return [
|
|
|
`<span class="${highlight.label && 'highlight'}">${prefix}</span>`,
|
|
`<span class="${highlight.label && 'highlight'}">${prefix}</span>`,
|
|
|
dosage ? `<span>${dosage}</span>` : '',
|
|
dosage ? `<span>${dosage}</span>` : '',
|
|
|
- suffix ? `<span class="${highlight.value && 'highlight'}">(${suffix})</span>` : '',
|
|
|
|
|
|
|
+ suffix ? `<span class="${highlight.value && 'highlight'}">(${suffix})</span>` : '',
|
|
|
].filter(Boolean).join(' ');
|
|
].filter(Boolean).join(' ');
|
|
|
};
|
|
};
|
|
|
let html = ``;
|
|
let html = ``;
|