Skip to main content

interesting perl regexes

Few perl regexes for reference and worth noting.

How do i remove consecutive pair of characters?

```
laptop:~/Perl2$ cat test.txt
this is a test file ffor cchecking ddouble cchars.
laptop:~/Perl2$ cat test.txt|perl -pane 's/(.)\g1/$1/g'
this is a test file for checking double chars.
```

Here , the (.) is used to capture the character and the \g1 is used to find if the stored value is the same as the one immediately following it. And then we replace that with $1


How do i find matching/nesting anything?

To find something between two single characters, a pattern like /x([^x]*)x/ will get the intervening bits in $1. For multiple ones, then something more like /alpha(.*?)omega/ would be needed.


Comments

Popular posts from this blog

best educational experiences..

The best educational experiences are when we work hard for it, when we apply ourselves and think over solutions/possibilities and try to infer things if we are not sure. In college, there were friends with whom we discussed topics, debated possible approaches to problems. Today, I attend interviews! What better ways to know your weaknesses, strengths and different perspectives on technology or implementation!

mount points with space in fstab

Just something i came across recently. I had a space in the filesystem mount point, something like "New Volume" which was a windows filesystem detected and auto-mounted by ubuntu. So how do you add this to fstab? Lookup on the fstab man page says: The second field (fs_file). This field describes the mount point for the filesystem. For swap partitions, this field should be specified as `none'. If the name of the mount point contains spaces these can be escaped as `\040'. Ex: /dev/sda5     /media/New\040Volume     ntfs     defaults     0     2

virtualbox ubuntu and getting the image to work!

problems 1. network access! not a fix yet.. I had to add two interfaces one NAT and one HOST only 2. keyboard layout dpkg-reconfigure console-setup # this works across reboots! console-data is just for the session 3. fixing eth1/2 numbers to have eth0/1 Modify the entries in /etc/udev/rules.d/70-persistent-cd.rules and reboot OR sudo udevadm trigger