यहाँ आपके लिए एक है।

मैं REPLACE ALL OCCURENCES OF REGEX का उपयोग करके एक बहुत लंबी स्ट्रिंग में लाइन ब्रेक सम्मिलित करना चाहता हूं। दुर्भाग्य से यह काम नहीं करता। यह शुरुआत में केवल एक बार लाइन ब्रेक डालता है, फिर शेष स्ट्रिंग के साथ कुछ भी नहीं करता है।

`Lorem ipsum dolor sit amet, consectetur ` &&#adipiscing elit. Proin sagittis tortor at

यहाँ मेरा कार्यक्रम है।

REPORT zzz.

START-OF-SELECTION.
  DATA(gv_string) =
`Lorem ipsum dolor sit amet, consectetur ` &&
`adipiscing elit. Proin sagittis tortor a` &&
`t bibendum eleifend. Cras nisi felis, ac` &&
`cumsan vitae euismod eget, viverra sed i` &&
`psum. Integer imperdiet eleifend interdu` &&
`m. Nunc sed ultrices lectus. Sed nisi ex` &&
`, tincidunt quis arcu eget, commodo temp` &&
`or odio. In hac habitasse platea dictums` &&
`t. Nunc sit amet convallis ex, in conseq` &&
`uat velit. In suscipit orci lectus, laor` &&
`eet pretium leo molestie non. Duis trist` &&
`ique ipsum non porta faucibus. Nullam ia` &&
`culis rutrum arcu, sit amet rhoncus mass` &&
`a interdum at. Donec luctus magna metus,` &&
` et varius massa euismod vel. Nunc sem s` &&
`em, lobortis et convallis nec, aliquam e` &&
`u nunc. Nullam quis sollicitudin ante. N` &&
`ulla suscipit eu ante lobortis sodales. ` &&
`Cras mattis enim a leo pellentesque, ut ` &&
`interdum orci rutrum. Fusce varius matti` &&
`s pulvinar. Lorem ipsum dolor sit amet, ` &&
`consectetur adipiscing elit. Integer mol` &&
`estie ipsum et aliquam porttitor. Phasel` &&
`lus consectetur viverra sem. Aenean cons` &&
`equat eros eget rutrum tempus. Aliquam e` &&
`rat volutpat. Vivamus venenatis pharetra` &&
` eleifend. Integer pulvinar ipsum ac pul` &&
`vinar efficitur. Mauris venenatis justo ` &&
`vel arcu viverra, a laoreet massa pellen` &&
`tesque. Nunc eu ex magna. Quisque ultric` &&
`es convallis elementum. Mauris vel torto` &&
`r elementum, placerat odio sit amet, mat` &&
`tis neque. Vestibulum pellentesque finib` &&
`us metus, eget semper mi. Pellentesque i` &&
`d est porta, accumsan nisl eu, laoreet d` &&
`iam. Ut at hendrerit leo. Donec vestibul` &&
`um hendrerit nisi. Pellentesque non augu` &&
`e ac ipsum ultricies egestas quis a urna` &&
`. Nam varius sollicitudin nibh, vel comm` &&
`odo lorem placerat sed. Phasellus ut dia` &&
`m ac dolor condimentum rhoncus ac vel ex` &&
`. Donec finibus urna quis tempus ultrice` &&
`s. Donec id pellentesque ante, sed gravi` &&
`da diam. Cras metus lorem, rutrum non po` &&
`rttitor sed, posuere et neque. Phasellus` &&
` efficitur bibendum volutpat. Integer fa` &&
`ucibus neque at est sollicitudin bibendu` &&
`m. Cras eleifend nunc lacus, sed fringil` &&
`la erat vestibulum ac. Praesent ipsum fe` &&
`lis, porta vel urna vitae, consequat var` &&
`ius velit. Suspendisse tristique bibendu` &&
`m ante vel convallis. Aliquam tincidunt ` &&
`nec ipsum eu pretium. Donec vitae ultric` &&
`es nibh.`.

REPLACE ALL OCCURRENCES OF REGEX `^.{40}` IN gv_string WITH '`$0` &&\n'.
BREAK-POINT.

नियमित अभिव्यक्ति ^.{40} और मेरे द्वारा उपयोग की जाने वाली प्रतिस्थापन स्ट्रिंग निश्चित रूप से सही है, क्योंकि मुझे वह परिणाम मिलता है जो मैं चाहता हूं उदाहरण के लिए नोटपैड ++ में।

क्या यह किसी प्रकार का बग है या यह कहीं ABAP-RegEx में एक बाधा के रूप में प्रलेखित है?

1
Jagger 22 नवम्बर 2021, 17:47
1
क्या आप प्रत्येक 40 वर्णों में एक पंक्ति विराम सम्मिलित करना चाहते हैं? रेगेक्स एक्सप्रेशन से ^ निकालें: '.{40}'
 – 
József Szikszai
22 नवम्बर 2021, 18:08
बिलकुल सही कहा! अगर आप अपनी टिप्पणी को उत्तर के रूप में पोस्ट करते हैं तो मैं इसे स्वीकार करूंगा।
 – 
Jagger
22 नवम्बर 2021, 18:37
1
मैंने किया, बीटीडब्ल्यू, जब भी मैं रेगेक्स के साथ खुद को यातना देना चाहता हूं, मैं इस साइट का उपयोग करता हूं regex101.com - यह विश्लेषण करती है रेगेक्स अभिव्यक्ति और स्पष्टीकरण देता है
 – 
József Szikszai
22 नवम्बर 2021, 18:44

1 उत्तर

सबसे बढ़िया उत्तर

रेगेक्स एक्सप्रेशन से ^ निकालें, प्रत्येक 40 वर्णों में एक लाइन ब्रेक सम्मिलित करने के लिए:

REPLACE ALL OCCURRENCES OF REGEX `^.{40}` IN gv_string WITH '`$0` &&\n'.
1
József Szikszai 22 नवम्बर 2021, 18:43