regexp ที่มีการรวมกันของตัวเลขจุดและเครื่องหมายจุลภาค แต่ไม่รวมระเบียนที่ประกอบด้วยเครื่องหมายจุลภาคเดียวเท่านั้น


0

^[\d,.]+$

regexp ข้างต้นจะเลือกชุดของตัวเลขจุดและเครื่องหมายจุลภาคทั้งหมด อย่างไรก็ตามฉันไม่ต้องการให้ส่งคืนระเบียนที่ประกอบด้วยเครื่องหมายจุลภาคเดียวเท่านั้น

ปรับแต่งอย่างไร?

ฉันพยายามค้นหากลุ่มตัวเลขทั้งหมดในโครงการแปลของฉันใน Trados จากนั้นค้นหาและแทนที่เครื่องหมายจุลภาคทศนิยมสไตล์รัสเซียทั้งหมดด้วยจุดทศนิยม อย่างไรก็ตามบางส่วนของการแปลในเอกสารประกอบด้วยเครื่องหมายจุลภาคเท่านั้น: ตัวแยกวิเคราะห์ไม่แม่นยำมากใน Trados ฉันไม่จำเป็นต้องเปลี่ยนเครื่องหมายจุลภาคเหล่านั้นเป็นจุดโดยไม่ได้ตั้งใจ

คำตอบ:


2

ใช้lookahead :

^(?!,$)[\d,.]+$

ที่ไหน

(?!,$) เป็น lookahead เชิงลบการยืนยันความยาวเป็นศูนย์ที่ทำให้แน่ใจว่าเราไม่มีเครื่องหมายจุลภาคในสตริงอินพุต


มันจะไม่รวมเร็กคอร์ดที่เหมือน,302กันเครื่องหมายจุลภาคอยู่ที่จุดเริ่มต้น แต่ตามด้วยหมายเลขบางส่วน
CopperKettle

@CopperKettle: ไม่ไม่ได้เพราะ$ด้านในของ lookahead หมายความว่าไม่ใช่เครื่องหมายจุลภาคระหว่างจุดเริ่มต้นและจุดสิ้นสุดของบรรทัด (เช่นเครื่องหมายจุลภาคเดียว)
โตโต้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.