Regular Expressions in Ada?

喜夏-厌秋 提交于 2019-12-10 16:58:00

问题


I'm very new to Ada, and I'm trying to do some simple work with some text. All I want to do is read in a file, and strip out anything that isn't a letter, space, or new line. so removing all the punctuation and numbers. In other languages I would just create a simple [^a-zA-Z] regular expression, look at each character and delete it if it fit the RegEx, but I can't seem to find any documentation on RegEx's in Ada. So, are there RegEx's in Ada? If not, what's the best way for me to go about simple text editing like this.

thanks much, -jb


回答1:


if you are using the GNAT compiler, there are a set of packages called GNAT.RegExp, GNAT.RegPat and GNAT.Spitbol made for this task.

beware that it is not standard regexp ala perl but is based on SNOBOL4. however, it should not be very difficult to convert from one type of regular expression to another.




回答2:


You may want to go through this example, and just look for the characters you want to ignore and don't put them into the new string.

Which version of Ada are you using?

http://www.adaic.com/docs/95style/html/sec_8/8-4-7.html




回答3:


I'd probably look at the Gnat snobol stuff in your shoes.

However, there is a project available for general lexical analysis (somewhat like Boot's Spirit) called OpenToken. For slighly more complex tasks, you may find it useful.

I haven't worked with the modern incarnation, but back when I was the lead on it the project was compiler-agnostic.



来源:https://stackoverflow.com/questions/1665461/regular-expressions-in-ada

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!